Критична вразливість у sudo дозволяє отримати root права

L Дослідники безпеки Qualys виявили критичну вразливість (CVE-2021-3156) в утиліті sudo, який призначений для організації виконання команд від імені інших користувачів.

Вразливість дозволяє неаутентифікований доступ з правами root. Проблема може використовуватися будь-яким користувачем, незалежно від присутності в системних групах та наявності запису у файлі / etc / sudoers.

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

Для пошуку вразливості у вашій системі просто запустіть команду "sudoedit -s /", і вразливість буде присутня, якщо відображається повідомлення про помилку, що починається з "sudoedit:".

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

Уразливість з'явилася з липня 2011 року і спричинена переповненням буфера при обробці символів екранування рядків у параметрах, призначених для виконання команд у режимі оболонки. Режим оболонки вмикається шляхом вказівки аргументів "-i" або "-s" і викликає виконання команди не безпосередньо, а за допомогою додаткового виклику оболонки з позначкою "-c" ("команда sh -c»).

Суть полягає в тому, що при нормальному запуску утиліти sudo вона уникає спеціальних символів, вказуючи параметри "-i" та "-s", але при запуску утиліти sudoedit параметри не захищаються, як parse_args () Функція встановлює змінну середовища MODE_EDIT замість MODE_SHELL і не скидає значення "valid_flags".

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

Обробник неправильно аналізує наявність символу зворотної косої риски не виходячи з кінця рядка, він вважає, що ця зворотна коса риса витікає ще з одного символу і продовжує читати дані за межі рядка, копіюючи їх в буфер "user_args" і перезаписуючи області пам'яті поза буфером.

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

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

Дослідникам безпеки Qualys вдалося підготувати три експлойти, робота яких базується на переписанні вмісту структур sudo_hook_entry, service_user та def_timestampdir:

  • Скасувавши sudo_hook_entry, двійковий файл з іменем "SYSTEMD_BYPASS_USERDB" можна запустити як root.
  • Замінивши service_user вдалося запустити довільний код як root.
  • Перевизначивши def_timestampdir, вдалося змити вміст стеку sudo, включаючи змінні середовища, у файл / etc / passwd та домогтися заміни користувача кореневими привілеями.

Слідчі показали, що подвиги працюють для отримання повних привілеїв root на Ubuntu 20.04, Debian 10 та Fedora 33.

Вразливість можна використовувати в інших операційних системах та дистрибутивах, але перевірка дослідників була обмежена Ubuntu, Debian та Fedora, плюс згадується, що всі версії sudo 1.8.2 - 1.8.31p2 та 1.9.0 - 1.9.5p1 у налаштуваннях за замовчуванням зачіпаються. Пропоноване рішення в sudo 1.9.5p2.

Слідчі попередньо повідомив розробників дистриб’ютори, які вже скоординовано випустили оновлення пакетів: Debian, RHEL, Fedor, Ubuntu, SUSE / openSUSE, Arch Linux, Slackware, Gentoo та FreeBSD.

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


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

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

*

*

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