Невизначена помилка 7 років тому дозволяє ескалацію привілеїв за допомогою polkit

Кевін Бекхаус (дослідник безпеки) поділилися кілька днів тому в блозі GitHub зауважте, що зіткнувся з помилкою в службі polkit пов'язаний з systemd (загальний компонент системи Linux та менеджера служб), з яким уразливість семи років тому дозволили здійснити ескалацію привілеїв який ховається в різних дистрибутивах Linux і який був виправлений минулого тижня у скоординованому випуску.

Polkit - це інструментарій на рівні програми для визначення та управління політикою що дозволяє непривілейовані процеси Якщо поговорити з привілейованими процесами, він встановлюється за замовчуванням на різних дистрибутивах Linux. Уразливість була введена у версії 0.113 сім років тому (коміт bfa5036) і була виправлена ​​3 червня після її недавнього розкриття дослідником безпеки Кевіном Бекхаузом.

Як член лабораторії безпеки GitHub, моя робота полягає в тому, щоб допомогти покращити безпеку програмного забезпечення з відкритим кодом, знаходячи та повідомляючи про вразливі місця. Кілька тижнів тому я знайшов уразливість ескалації привілеїв у polkit. Узгоджене розкриття вразливості з супровідниками Polkit та командою безпеки Red Hat. Це було оприлюднено публічно, виправлення було випущено 3 червня 2021 року та призначено CVE-2021-3560

"Кожна система Linux, яка використовує вразливу версію polkit, потенційно піддається атакам, які використовують недолік CVE-2021-3560", - говорить Бекхаус. каже, що недолік напрочуд легко використати, оскільки для цього потрібні лише декілька команд із використанням стандартних інструментів терміналу, таких як bash, kill та dbus-send.

"Уразливість запускається запуском команди dbus-send, але вбивством, поки polkit все ще обробляє запит", - пояснив Бекхаус.

Backhouse опублікував відео PoC атаки, яка використовує цю вразливість, показує, що її легко активувати.

“Уразливість дозволяє непривілейованому локальному користувачеві отримати кореневу оболонку в системі. Це легко використати за допомогою деяких стандартних інструментів командного рядка, як ви можете бачити у цьому короткому відео ", - написав експерт у своєму дописі в блозі.

При вбивстві dbus-send (команда зв'язку між процесами), в середині запиту автентифікації викликає помилку Що походить від polkit, що вимагає UID з'єднання, яке більше не існує (оскільки з'єднання було розірвано).

"Насправді, polkit неправильно обробляє помилку: замість того, щоб відхилити запит, він поводиться з ним так, ніби він вийшов із процесу з UID 0", - пояснює Бекхаус. "Іншими словами, ви негайно авторизуєте запит, оскільки вважаєте, що запит походить від кореневого процесу."

Це відбувається не постійно, оскільки запит UID polkit до dbus-daemon виникає кілька разів на різних шляхах коду. Зазвичай ці шляхи коду правильно обробляють помилку, сказав Бекхаус, але шлях коду є вразливим, і якщо відключення відбувається, коли цей шлях коду активний, тоді відбувається підвищення прав. Це все питання часу, який змінюється непередбачувано, оскільки в ньому задіяні різні процеси.

Крім того, дослідник опублікував наступну таблицю який містить список вразливих дистрибутивів:

РОЗПОДІЛ ВПОЛНІВИЙ?
RHEL 7 Немає
RHEL 8 так
Fedora 20 (або раніше) Немає
Fedora 21 (або пізнішої версії) так
Debian 10 ("розбивач") Немає
Тестування Debian так
Ubuntu 18.04 Немає
Ubuntu 20.04 так

Це постраждало від дистрибутивів Linux, на яких встановлено polkit версії 0.113 або пізнішої, таких як Debian (нестабільна гілка), RHEL 8, Fedora 21 та новіших версій та Ubuntu 20.04.

Переривчастий характер помилки, припускає Бекхаус, є причиною її невизначення протягом семи років.

"CVE-2021-3560 дозволяє непривілейованому локальному зловмиснику отримувати root права", - сказав Бекхаус. "Це дуже просто і швидко використовувати, тому важливо, щоб ви оновили свої установки Linux якомога швидше".

В кінці кінців Якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.