Две уязвимости в ksmbd Linux позволяют получить root через SMB

Две уязвимости в ksmbd Linux позволяют получить root через SMB

Две уязвимости в ksmbd Linux позволяют получить root через SMB

Без лишней мистики: исследователь в области кибербезопасности BitsByWill подробно разобрал две критические уязвимости в ksmbd — встроенном в ядро Linux SMB-сервере. Речь о CVE-2023-52440 и CVE-2023-4130 — и самое неприятное, что они отлично склеиваются в рабочую эксплойт-цепочку.

Первая уязвимость, CVE-2023-52440, описывается как контролируемое SLUB-переполнение в функции ksmbd_decode_ntlmssp_auth_blob().

Как пишет BitsByWill, длина sess_key_len контролируется пользователем, и при определённой подаче данных можно переполнить фиксированный буфер sess_key во время вызова cifs_arc4_crypt. Проще говоря — достаточно модифицировать одну строку в ntlm-клиентской библиотеке (в примере — Impacket), чтобы сгенерировать специально подготовленное NTLM-сообщение и получить неаутентифицированное удалённое переполнение буфера с контролем размера и содержимого.

Вторая уязвимость, CVE-2023-4130, — это чтение за пределами буфера (OOB read) в smb2_set_ea(). Из-за плохой проверки расширенных атрибутов (EA) злоумышленник с правом записи на шаре может заставить ksmbd неправильно интерпретировать структуру и считать дополнительные записи. В результате соседние данные кучи попадают в xattr, откуда их можно извлечь через SMB3 queryInfo. То есть брешь позволяет вытянуть части памяти ядра и, например, сломать KASLR.

И вот где всё становится опасно: переполнение даёт запись, чтение даёт утечку. Связав CVE-2023-52440 и CVE-2023-4130, BitsByWill показал рабочий путь до реального ROP-эксплойта.

Для демонстрации потребовались учётные данные пользователя с правом записи на шару, поэтому исследователь пишет о 0-click с аутентификацией — формулировка спорная, но смысл понятен: если админ разрешил анонимную запись в шаре, шанс эксплуатации становится ещё выше.

Авторы анализа подчёркивают практические сценарии: модификация таблиц страниц для произвольного чтения/записи, вынимание секретов из соседних процессов или подготовка ROP-цепочки для исполнения кода в контексте ядра. Всё это — классика эскалации привилегий, но в данном случае — прямо через SMB-интерфейс ядра.

Патчи уже вышли, и производители/поддерживающие дистрибутивы закрывали эти баги, но реальная угроза — не только в уязвимом коде, а в конфигурациях и устаревших системах. Как обычно, напомним: открытые для записи шар-ресурсы, устаревшее ПО и несвоевременное обновление — идеальная среда для подобных атак.

Исследователь заставил Kaspersky Endpoint Security записать DLL в System32

Независимый исследователь под псевдонимом Nightmare Eclipse опубликовал экспериментальный эксплойт HardBreacher для уязвимости в Kaspersky Endpoint Security. По его словам, неизвестная ранее брешь позволяет обычному пользователю обойти ограничения Windows и создать файл в защищённой директории C:\Windows\System32.

Эксплойт тестировался на полностью обновлённой Windows 11 25H2 с Kaspersky Endpoint Security 14.0.0.504.

При успешном запуске эксплойт создавал в System32 файл MY_SNAKE_IS_SOLID.dll, после чего предоставлял текущему непривилегированному пользователю полный доступ к нему. В нормальной ситуации стандартная учётная запись проделать такой трюк не может.

Предполагаемая проблема связана с взаимодействием защитного продукта и его интерфейсного процесса. Получив контроль над ним, исследователь смог влиять на операции с файлами и нарушать работу отдельных механизмов программы. Полные технические детали пока не раскрыты.

 

Сам автор признаёт, что HardBreacher работает нестабильно: запуски часто заканчиваются ошибкой, поэтому попытки приходится повторять. Стабильное выполнение произвольного кода с правами SYSTEM также не продемонстрировано.

Независимые специалисты пока не воспроизвели результат. Уязвимость не получила CVE, а «Лаборатория Касперского» публично не подтвердила проблему и не назвала возможные затронутые версии. Делать выводы обо всей линейке продуктов по одному испытанному выпуску рано.

Однако опубликованный код уже привлекает внимание. Ранее инструменты Nightmare Eclipse для обхода Microsoft Defender пытались применять в реальных атаках, хотя большинство попыток провалилось.

Update:

Официальный комментарий «Лаборатории Касперского»:

«"Лаборатория Касперского" устранила недостаток, обнаруженный с помощью экспериментальной утилиты HardBreacher. Обновление с необходимыми исправлениями выпущено и устанавливается автоматически — при необходимости пользователи также могут запустить его вручную».

RSS: Новости на портале Anti-Malware.ru