Вразливість ядра Linux iSCSI дозволяє підвищити привілеї

Останнім часом важлива інформація про ідентифікація вразливість (перераховано як CVE-2021-27365) в коді підсистеми iSCSI Ядро Linux, що Дозволяє непривілейованому локальному користувачеві запускати код на рівні ядра та отримувати кореневі привілеї в системі.

Проблема спричинена помилкою у функції модуля libiscsi iscsi_host_get_param (), впровадженої ще у 2006 році під час розробки підсистеми iSCSI. Через відсутність належних елементів керування розмірами, деякі атрибути рядка iSCSI, такі як ім’я хосту чи ім’я користувача, можуть перевищувати значення PAGE_SIZE (4 КБ).

Вразливість може бути використана шляхом надсилання повідомлень Netlink непривілейованим користувачем, який встановлює атрибути iSCSI значенням, більшим за PAGE_SIZE. При читанні даних атрибутів через sysfs або seqfs код викликається для передачі атрибутів sprintf, щоб вони скопіювались в буфер розміром PAGE_SIZE.

Особливою підсистемою, про яку йдеться, є транспорт даних SCSI (Small Computer System Interface), що є стандартом для передачі даних, створених для підключення комп’ютерів до периферійних пристроїв, спочатку за допомогою фізичного кабелю, такого як жорсткі диски. SCSI - це поважний стандарт, спочатку опублікований в 1986 році і був золотим стандартом для конфігурацій сервера, а iSCSI в основному є SCSI над TCP. SCSI використовується і сьогодні, особливо в певних ситуаціях зберігання, але як це стає поверхнею атаки на системі Linux за замовчуванням?

Використання вразливості у розподілах залежить від підтримки автозавантаження модуля ядра scsi_transport_iscsi при спробі створити сокет NETLINK_ISCSI.

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

Автоматичне завантаження модулів, необхідних для використання експлойта підтримує CentOS 8, RHEL 8 та Fedora шляхом встановлення пакета rdma-core в систему, що є залежністю для деяких популярних пакетів і встановлюється за замовчуванням у конфігураціях робочих станцій, серверних систем з графічним інтерфейсом та віртуалізації хост-середовищ.

У той же час, rdma-core не встановлюється при використанні збірки сервера, яка працює лише в консольному режимі, і при встановленні мінімального інсталяційного образу. Наприклад, пакет входить до базового дистрибутиву Fedora 31 Workstation, але не входить до складу Fedora 31 Server.

Debian та Ubuntu менш сприйнятливі до проблемиоскільки пакет rdma-core завантажує модулі ядра, необхідні для атаки, лише якщо доступне обладнання RDMA. Однак серверний пакет Ubuntu включає пакет open-iscsi, який включає файл /lib/modules-load.d/open-iscsi.conf для забезпечення автоматичного завантаження модулів iSCSI під час кожного завантаження.

Робочий прототип експлоїту доступний для спробуйте за посиланням нижче.

Уразливість була виправлена ​​в оновленнях ядра Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 та 4.4.260. Оновлення пакетів ядра доступні в дистрибутивах Debian (старий стабільний), Ubuntu, SUSE / openSUSE, Arch Linux та Fedora, тоді як для RHEL виправлення ще не випущено.

Також у підсистемі iSCSI виправлено дві менш небезпечні вразливості що може призвести до витоку даних ядра: CVE-2021-27363 (витік інформації про дескриптор транспорту iSCSI через sysfs) та CVE-2021-27364 (зчитування з області, що виходить за межі буфера).

Ці вразливості можна використовувати для спілкування через сокет мережевого зв'язку з підсистемою iSCSI без необхідних привілеїв. Наприклад, непривілейований користувач може підключитися до iSCSI і надіслати команду виходу.

Фуенте: https://blog.grimm-co.com


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

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

*

*

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