Уразливості в модулі ksmbd ядра Linux, що дозволяють віддалено виконати свій код

У модулі ksmbd, що пропонує вбудовану в ядро ​​Linux реалізацію файлового сервера на базі протоколу SMB, виявлено 14 уразливостей, з яких чотири дозволяють віддалено домогтися виконання свого коду з правами ядра. Атака може бути проведена без аутентифікації, щоб на системі був активований модуль ksmbd. Проблеми проявляються починаючи з ядра 5.15, до складу якого було прийнято модуль ksmbd. Уразливості усунуті в оновленнях ядра 6.3.2, 6.2.15, 6.1.28 та 5.15.112. Простежити за виправленням у дистрибутивах можна на наступних сторінках: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.

Виявлені проблеми:

  • CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 — віддалене виконання коду з правами ядра через відсутність належних блокувань об'єктів при обробці зовнішніх запитів, які містять команд , SMB2_LOGOFF та SMB2_CLOSE, що призводить до стану гонки, що експлуатується. Атака може бути здійснена без проходження автентифікації.
  • CVE-2023-32256 - витік вмісту областей пам'яті ядра через стан гонки при обробці команд SMB2_QUERY_INFO та SMB2_LOGOFF. Атака може бути здійснена без проходження автентифікації.
  • CVE-2023-32252, CVE-2023-32248 — віддалена відмова в обслуговуванні через розйменування нульового покажчика при обробці команд SMB2_LOGOFF, SMB2_TREE_CONNECT та SMB2_QUERY_INFO. Атака може бути здійснена без проходження автентифікації.
  • CVE-2023-32249 – можливість перехоплення сеансу з користувачем через відсутність належної ізоляції під час обробки ідентифікатора сеансу у багатоканальному режимі.
  • CVE-2023-32247, CVE-2023-32255 - відмова в обслуговуванні через витік пам'яті при обробці команди SMB2_SESSION_SETUP. Атака може бути здійснена без проходження автентифікації.
  • CVE-2023-2593 — відмова в обслуговуванні через вичерпання доступної пам'яті, спричинену помилкою, яка призводить до неповернення пам'яті при обробці нових TCP-з'єднань. Атака може бути здійснена без проходження автентифікації.
  • CVE-2023-32253 — відмова в обслуговуванні через виникнення взаємного блокування під час обробки команди SMB2_SESSION_SETUP. Атака може бути здійснена без проходження автентифікації.
  • CVE-2023-32251 – відсутність захисту від атак щодо підбору параметрів аутентифікації (brute force).
  • CVE-2023-32246 — локальний користувач системи, що має право вивантаження модуля ksmbd, може досягти виконання свого коду на рівні ядра Linux.

Крім того, ще 5 уразливостей виявлено в пакеті ksmbd-tools, що включає утиліти для керування та роботи з ksmbd, що виконуються у просторі користувача. Найбільш небезпечні вразливості (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE поки не призначені) дозволяють віддаленому неавтентифікованому атакуючому виконати свій код з правами root. Вразливості викликані відсутністю перевірки розміру зовнішніх даних, що приймаються, перед їх копіюванням у буфер у коді сервісу WKSSVC і в обробниках опкодів LSARPC_OPNUM_LOOKUP_SID2 і SAMR_OPNUM_QUERY_USER_INFO. Ще дві вразливості (ZDI-CAN-17823, ZDI-CAN-17821) можуть призвести до віддаленої відмови в обслуговуванні без проходження автентифікації.

Ksmbd подається як високопродуктивне та готове для застосування на вбудовуваних пристроях розширення до Samba, що при необхідності інтегрується з інструментами та бібліотеками Samba. Підтримка забезпечення роботи SMB-сервера за допомогою модуля ksmbd є у пакеті Samba, починаючи з випуску 4.16.0. На відміну від SMB-сервера, що працює в просторі користувача, ksmbd більш ефективний з точки зору продуктивності, споживання пам'яті та інтеграції з розширеними можливостями ядра. Стів Френч (Steve French) з компанії Microsoft, мейнтейнер підсистем CIFS/SMB2/SMB3 в ядрі Linux і давній учасник команди розробників Samba, який зробив значний внесок у реалізацію підтримки протоколів SMB/CIFS в Samba та Linux.

Додатково можна відзначити дві вразливості у графічному драйвері vmwgfx, що використовується для реалізації 3D-прискорення в оточенні VMware. Перша вразливість (ZDI-CAN-20292) дозволяє локальному користувачеві підвищити свої привілеї у системі. Вразливість викликана відсутністю перевірки стану буфера перед звільненням під час обробки об'єкта vmw_buffer_object, що може призвести до подвійного виклику функції free. Друга вразливість (ZDI-CAN-20110 призводить до витоку вмісту пам'яті ядра через помилки при організації блокування об'єктів GEM).

Джерело: opennet.ru

Додати коментар або відгук