У ядрі Linux було виявлено дві вразливості, які все ще дозволяли користувачам підвищувати свої привілеї 

уразливість

У разі використання цих недоліків зловмисники можуть отримати несанкціонований доступ до конфіденційної інформації або загалом спричинити проблеми

Кілька днів тому про це повідомила новина Було виявлено дві вразливості підсистеми ядро Linux, Netfilter і io_uring, які дозволяють локальному користувачеві підвищити свої привілеї в системі.

Перший – вразливість. (CVE-2023-32233), який було виявлено в підсистемі Netfilter і спричинений доступом до пам’яті після використання після звільнення в модулі nf_tables, який забезпечує роботу фільтра пакетів nftables.

Ця помилка пов’язана з тим, що netfilter nf_tables дозволяє оновлювати свою конфігурацію для пакетних запитів, які групуються разом кілька основних операцій в атомарних транзакціях.

Проблема було відтворено в різних версіях ядра Linux, включаючи Linux 6.3.1 (поточна стабільна версія), і цю вразливість можна використати, надсилаючи спеціально створені запити на оновлення конфігурації nftables. Зазначається, що для атаки потрібен доступ до nftables, які можна отримати в окремому мережевому просторі імен, якщо у вас є права CLONE_NEWUSER, CLONE_NEWNS або CLONE_NEWNET (наприклад, якщо ви можете запустити ізольований контейнер).

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

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

Як уже згадувалося на початку, це було кілька днів тому, експлойт і інформація вже були розкриті. Експлойт, а також його деталі можна знайти за наступним посиланням.

Виявлена ​​друга несправність, була вразливість (CVE-2023-2598) в реалізація асинхронного інтерфейсу введення-виведення io_uring входить до складу ядра Linux починаючи з версії 5.1.

Проблема спричинена помилкою у функції io_sqe_buffer_register, яка дозволяє доступ до фізичної пам’яті поза межами статично виділеного буфера. Проблема з’являється лише у гілці 6.3 і буде виправлена ​​в наступному оновленні 6.3.2.

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

Таким чином, bvec виходить далеко за межі однієї сторінки, до якої йому фактично дозволено торкатися. Пізніше IORING_OP_READ_FIXED і IORING_OP_WRITE_FIXED дозволяють нам читати і записувати в буфер (тобто пам’ять, на яку вказує bvec) за бажанням. Це дозволяє читати/записувати доступ до фізичної пам’яті за єдиною сторінкою, яка у нас насправді є.

У публікації про вразливості згадуються кроки відтворення помилки:

1. Створіть memfd
2. Помилка однієї сторінки в цьому дескрипторі файлу
3. Використовуйте MAP_FIXED для повторного відображення цієї сторінки в послідовних місцях
4. Зареєструйте весь регіон, який ви щойно заповнили цією сторінкою
фіксований буфер з IORING_REGISTER_BUFFERS
5. Використовуйте IORING_OP_WRITE_FIXED для запису буфера в інший файл
(читання OOB) або IORING_OP_READ_FIXED для читання даних у буфері (
OOB пишіть).

Наостанок варто згадати про це вже доступний  робочий прототип експлойта (CVE-2023-2598) для тестування, що дозволяє запускати код із привілеями ядра.

Вразливість (CVE-2023-32233) Це було виправлено в оновленні 6.4-rc, і ви можете стежити за виправленням уразливості в дистрибутивах на сторінках: DebianUbuntuGentooRHELFedoraSUSE/openSUSEарка.


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

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

*

*

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