Грешка в Snapd позволи да се получат root права

щракам

В Snapd е идентифицирана уязвимост което вече е описано в (CVE-2019 7304-), което позволява на непривилегирован потребител да получи администраторски права (root) в системата.

За тези, които не са запознати със Snapd, можем да ви кажем, че това е набор от инструменти за управление на самостоятелни пакети във формат snap. За да се тестват уязвимостите на системите, бяха публикувани два прототипа на експлоата.

  • Първият, който позволява на нападателя да създаде нов потребител в системата.
  • Втората позволява на атакуващия да има възможност да инсталира всякакъв вид незабавен пакет в системата и да стартира кода като root (чрез инсталиране на пакета в режим "devmode" с прикачен файл на драйвера с привилегии за root, когато инсталира пакета).

Какви са тези подвизи?

Експлойтът, създаден за използване на първата посочена възможност по-рано пропуснете проверките за контрол на достъпа да се използва ограничена API функция на локалната услуга snapd.

Това заявява системата за потребителско име и публичен SSH ключ от предоставен имейл адрес и след това създава локален потребител въз основа на тази стойност.

Успешното използване на тази версия изисква изходяща интернет връзка и SSH услуга, достъпна чрез localhost.

Създаден е вторият експлойт да се възползва от посочената втора точка, за разлика от предишния описан експлойт, не изисква SSH услугата да работи.

също ще работи върху по-нови версии на Ubuntu без интернет връзка, което го прави устойчив на промени и ефективен в ограничена среда.

Този подвиг Той също така трябва да бъде ефективен за системи, които не са Ubuntu, които са инсталирали snapd, но не са съвместими с API поради синтаксиса на черупката на Linux.

Някои по-стари системи на Ubuntu (като версия 16.04) може да нямат инсталирани компоненти snapd, необходими за изтегляне.

Ако случаят е такъв, тази версия на експлоата може да го задейства, за да инсталира тези зависимости. По време на тази инсталация, snapd може да бъде надстроена до не-уязвима версия.

За да научите малко повече за тях, можете да получите повече подробности В следващия линк.

От какво се състои тази открита грешка?

Уязвимостта се дължи липса на правилни проверки в snapd при обработка на адрес на външен сокет в процеса на оценка на правата за достъп за Unix сокети.

Когато обработвате заявки към API чрез Unix сокет, UID на потребителя, свързан с връзката, се проверява и въз основа на това се взема решение за достъп.

Потребителят може да прикачи низ «; uid = 0; » към името на файла с сокета (например създайте сокет "/ tmp / sock; uid = 0;") и този низ ще бъде обработен като част от адреса на клиентския сокет.

Когато анализирате параметрите в snapd, потребителският идентификатор се присвоява чрез циклично търсене с помощта на маската "; Uid =" на реда, който включва и името на файла с сокета (например при създаване на клиентски сокет "/ tmp / sock; uid = 0;" този ред приема формата "pid = 5275; uid = 1000; socket = / run / snapd.socket; / tmp / sock; uid = 0; «).

Следователно, ако има верига "; Uid = 0;" в името на сокета идентификаторът ще бъде присвоен от него, а не от обикновения параметър с действителния UID.

Локалният нападател може да използва тази грешка за достъп до сокета /run/snapd.socket до привилегирования API на snapd и да придобие привилегии на администратор (предишните уязвимости използват API на v2 / create-user и / v2 / snaps).

Какви версии засяга и съществува ли решение вече?

Проблемът се проявява в snapd версии от 2.28 до 2.37 и засяга всички поддържани клонове на Ubuntu (от 14.04 до 18.10), както и в дистрибуции, получени от някоя от тези споменати версии.

Проблемът засяга също дистрибуциите на Fedora и Debian, в който snapd се предлага от обикновени хранилища.

Уязвимостта е отстранена в snapd 2.37.1 версия, както и актуализации на пакети за дистрибуции на Ubuntu и Debian.


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.