В сообществе разработчиков ядра Linux разгорелся серьезный инцидент безопасности: в открытых публичных списках рассылки были непреднамеренно опубликованы технические подробности двух критических уязвимостей нулевого дня во встроенном серверном модуле KSMBD. Обеим проблемам присвоен наивысший рейтинг опасности CVSS 9.0 инициативой Trend Micro Zero Day Initiative (ZDI).
Что представляет собой модуль KSMBD
Модуль KSMBD (Kernel SMB Daemon) был включен в основную ветку ядра Linux, начиная с версии 5.15, как быстрая ядерная альтернатива классическому пользовательскому пакету Samba. За счет работы непосредственно в пространстве ядра и поддержки высокоскоростных протоколов прямого доступа к памяти (SMB Direct over RDMA), KSMBD обеспечивает максимальную пропускную способность файловых операций и стал популярен в современных сетевых хранилищах (NAS) и высоконагруженных серверных узлах.
Однако нахождение сетевого демона непосредственно в пространстве ядра несет в себе колоссальные риски: любая ошибка переполнения памяти автоматически ведет не к падению изолированного процесса, а к полному контролю над операционной системой с привилегиями ядра Ring 0.
Технический анализ векторов атак
Согласно опубликованным отчетам ZDI, злоумышленники могут использовать два независимых вектора атаки:
- ZDI-CAN-33774 (Pre-Authentication RCE): наиболее опасная брешь, не требующая предварительного входа в систему. Уязвимость представляет собой состояние гонки (race condition) при переключении таблицы обработчиков пакетов. Отправка непрерывного потока укороченных пакетов устаревшего протокола SMB1, за которым следует пакет SMB2 в рамках одной TCP-сессии на порт
445/TCP, заставляет ядро обрабатывать структуры данных меньшего размера логикой SMB2. Это приводит к чтению и записи за пределами выделенного буфера ядра. - ZDI-CAN-33549 (Integer Underflow в SMB Direct): целочисленное переполнение при взаимодействии через RDMA-совместимые сетевые адаптеры. Клиент передает дескрипторы буферов памяти с некорректным счетчиком полезной нагрузки, что приводит к зацикливанию счетчика длины и последующему переполнению буфера при копировании памяти.
Временные меры защиты для системных администраторов
На текущий момент исправленные версии ядра еще не включены в стабильные релизные ветки большинства корпоративных и пользовательских дистрибутивов. Администраторам серверов, NAS и маршрутизаторов на базе Linux настоятельно рекомендуется предпринять следующие шаги:
- Проверить, запущен ли ядерный модуль на сервере:
lsmod | grep ksmbd - Если модуль активен, немедленно выгрузить его из оперативной памяти:
sudo modprobe -r ksmbd - Заблокировать автозагрузку модуля при старте ОС, добавив строку
blacklist ksmbdв файл конфигурации/etc/modprobe.d/blacklist.conf - Временно переключить сетевой общий доступ на традиционный пользовательский сервер Samba (демон
smbd), архитектура которого не подвержена данной уязвимости ядра.
|

