Неоткрита грешка от преди 7 години позволява ескалация на привилегиите с polkit

Кевин Бекхаус (изследовател по сигурността) споделени преди няколко дни в блога на GitHub бележката, че е срещнал грешка в услугата polkit свързан със systemd (обща Linux система и компонент на мениджър на услуги), с който седемгодишната уязвимост позволи да се извърши ескалация на привилегии който се крие в различни дистрибуции на Linux и който беше закърпен миналата седмица в координирано издание.

Polkit е набор от инструменти на ниво приложение за дефиниране и управление на политиката което позволява непривилегировани процеси Говорете с привилегированите процеси, той се инсталира по подразбиране на различни дистрибуции на Linux. Уязвимостта е въведена във версия 0.113 преди седем години (commit bfa5036) и е отстранена на 3 юни след неотдавнашното й разкриване от изследователя по сигурността Кевин Бакхаус.

Като член на лабораторията за сигурност на GitHub, моята работа е да помогна за подобряване на сигурността на софтуера с отворен код чрез намиране и докладване на уязвимости. Преди няколко седмици открих уязвимост за ескалация на привилегии в polkit. Координирано разкриване на уязвимости с поддръжници на polkit и екип за сигурност на Red Hat. Той бе оповестен публично, поправката беше пусната на 3 юни 2021 г. и му беше назначена CVE-2021-3560

„Всяка Linux система, която използва уязвима версия на polkit, е потенциално изложена на атаки, които използват недостатъка на CVE-2021-3560“, коментира Backhouse. казва, че недостатъкът е изненадващо лесен за използване, тъй като изисква само няколко команди, използващи стандартни терминални инструменти като bash, kill и dbus-send.

„Уязвимостта се задейства чрез стартиране на команда dbus-send, но убиването й, докато polkit все още обработва заявката“, обясни Backhouse.

Backhouse публикува видеоклип PoC на атака, която използва тази уязвимост, показвайки, че е лесно да се активира.

„Уязвимостта позволява на непривилегирован локален потребител да получи коренна черупка в системата. Лесно е да се използва с някои стандартни инструменти на командния ред, както можете да видите в това кратко видео “, написа експертът в публикация в блог.

При убиване на dbus-send (команда за комуникация между процеси), в средата на заявка за удостоверяване причинява грешка Което идва от polkit, който иска UID на връзка, която вече не съществува (тъй като връзката е прекъсната).

„Всъщност polkit неправилно обработва грешката по особено жалък начин: вместо да отхвърли заявката, той я третира така, сякаш е дошъл от процес с UID 0“, обяснява Backhouse. "С други думи, вие незабавно упълномощавате заявката, защото смятате, че тя идва от корен процес."

Това не се случва през цялото време, защото UID заявката на polkit към dbus-daemon се появява няколко пъти на различни кодови пътища. Обикновено тези кодови пътища обработват грешката правилно, каза Бекхаус, но кодовият път е уязвим и ако прекъсването се случи, когато този кодов път е активен, тогава се получава повишаване на привилегията. Всичко е въпрос на време, което варира по непредсказуем начин, тъй като са включени множество процеси.

Освен това, изследователят публикува следната таблица който съдържа списъка на уязвимите в момента дистрибуции:

РАЗПРЕДЕЛЕНИЕ УЯЗВИМ?
RHEL 7 Не
RHEL 8 да
Fedora 20 (или по-рано) Не
Fedora 21 (или по-нова версия) да
Debian 10 ("buster") Не
Тестване на Debian да
Ubuntu 18.04 Не
Ubuntu 20.04 да

Засегнати са дистрибуции на Linux, които имат инсталирана версия polkit 0.113 или по-нова, като Debian (нестабилен клон), RHEL 8, Fedora 21 и по-нова версия и Ubuntu 20.04.

Прекъсващият характер на грешката, спекулира Бекхаус, е причината тя да остане неоткрита в продължение на седем години.

"CVE-2021-3560 позволява на непривилегирован локален нападател да получи root права", каза Backhouse. "Това е много лесно и бързо за експлоатация, така че е важно да актуализирате вашите Linux инсталации възможно най-скоро."

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


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

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

*

*

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