Две уязвимости в 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-интерфейс ядра.

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

Подпишитесь на новости

WhatsApp на Android позволит листать сообщения без отметки о прочтении

Прочитать сообщение и не выдать себя синими галочками, WhatsApp (принадлежит корпорации Meta, признанной экстремистской и запрещённой в России) для Android готовит именно такой сценарий. В коде бета-версии нашли предпросмотр переписки по долгому нажатию. Причём окно позволяет прокручивать сообщения.

Функцию обнаружили и смогли активировать до выпуска исследователи Android Authority.

В версии 2.26.44.12 удержание чата открывает плавающую карточку с последними сообщениями. По результатам проверки издания, просмотр и прокрутка внутри неё не отправляют уведомления о прочтении. Собеседник продолжает видеть сообщение непрочитанным, пока вы изучаете переписку.

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


На iPhone похожий предпросмотр уже есть, однако прокручивать переписку внутри такого окна нельзя. Android-вариант в обнаруженной реализации оказался даже удобнее.

Но искать новинку в настройках пока рано: она находится в разработке и недоступна даже обычным участникам бета-тестирования. Сроков выпуска нет, а найденный в APK код ещё не гарантирует появления функции у всех пользователей.

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