У GDM була виявлена ​​вразливість

Дослідник безпеки від GitHub дав про це знати нещодавно Ви виявили вразливість (CVE-2020-16125) в GNOME Display Manager (GDM), який відповідає за відображення екрана входу.

У поєднанні з іншою вразливістю в службі відстеження рахунків (accounts-daemon), проблема дозволяє коду працювати як root.  Уразливість пов'язана з неправильним запуском утиліти початкової конфігурації, якщо неможливо отримати доступ до служби демона облікового запису через DBus.

Про вразливість

Непривілейований користувач може завершити роботу облікового запису-демона або покласти слухавку, що створить умови для запуску утиліти gnome-Initial-Setup з GDM, за допомогою якого новий користувач може зареєструватися як член групи sudo, тобто мати можливість запускати програми як root.

Зазвичай GDM викликає gnome-Initial-setup, щоб встановити першого користувача якщо в системі немає облікових записів. Перевірка наявності облікових записів здійснюється шляхом зв’язку з account-daemon. Якщо зазначений процес не вдається, GDM припускає, що облікові записи відсутні, і починає процес початкової конфігурації.

Дослідник виділив два способи перервати процес демо-рахунків- Перший (CVE-2020-16126) пов’язаний з неправильним скиданням привілеїв та другим (CVE-2020-16127) помилкою під час обробки файлу ".pam_environment".

Крім того, ще одна вразливість була виявлена ​​в демо-акаунтах (CVE-2018-14036) спричинені неправильними перевірками шляху до файлу та дозволяють зчитувати вміст довільних файлів у системі.

Вразливості в account-daemon спричинені змінами, внесеними розробниками Ubuntu, і не відображаються в основному коді демона-коду проекту FreeDesktop та пакету Debian.

Випуск CVE-2020-16127 присутній у патчі, доданому в Ubuntu, який реалізує функцію is_in_pam_environment, яка зчитує вміст файлу .pam_environment з домашнього каталогу користувача. Якщо замість цього файлу ви помістите символічне посилання на / dev / zero, процес демона облікового запису зависає при нескінченних операціях читання і перестає відповідати на запити через DBus.

Незвично, що вразливість у сучасній операційній системі настільки проста у використанні. Іноді я писав тисячі рядків коду для використання вразливості. 

Більшість сучасних експлойтів передбачають складні трюки, такі як використання вразливості до пошкодження пам'яті для підробки підроблених об’єктів у купі або заміна файлу символічним посиланням на мікросекундну точність для використання вразливості TOCTOU. 

Тому в наші дні порівняно рідко можна знайти вразливість, яка не вимагає навичок кодування для використання. Я також думаю, що вразливість легко зрозуміти, навіть якщо ви не маєте попередніх знань про те, як працює Ubuntu, або досвіду досліджень безпеки.

Вразливість CVE-2020-16126 спричинена іншим патчем який скидає привілеї поточного користувача під час обробки деяких викликів DBus (наприклад, org.freedesktop.Accounts.User.SetLanguage).

Процес демона облікового запису виконується зазвичай як root, що заважає звичайному користувачеві надсилати сигнали.

Але завдяки доданому патчу, привілеї процесу можна скинути і користувач може закінчити цей процес, надіславши сигнал. Щоб здійснити атаку, просто створіть умови для видалення привілеїв (RUID) і надішліть сигнал SIGSEGV або SIGSTOP в процес демона облікового запису.

Користувач закінчує графічний сеанс і переходить до текстової консолі (Ctrl-Alt-F1).
Після закінчення графічного сеансу GDM намагається відобразити екран входу, але зависає, намагаючись отримати відповідь від демона accounts.

Сигнали SIGSEGV і SIGCONT надсилаються з консолі в процес демона облікового запису, змушуючи його зависати.

Ви також можете надсилати сигнали перед виходом із графічного сеансу, але ви повинні робити це із затримкою, щоб встигнути закінчити сеанс, і до того, як сигнал надійде, GDM встиг почати.

Запит до демона облікових записів у GDM не вдається, і GDM викликає утиліту gnome-Initial-setup, в інтерфейсі якої достатньо створити новий обліковий запис.

Вразливість виправлена ​​в GNOME 3.36.2 та 3.38.2. Використання вразливості було підтверджено в Ubuntu та його похідних.

Фуенте: https://securitylab.github.com


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

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

*

*

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