Десятибалльный шторм
Эксперты по безопасности выявили десятибальную уязвимость в ядре Linux, позволяющую при определенных условиях запускать произвольный код в уязвимой системе удаленно.
Уязвимость затрагивает SMB-серверы с активированным модулем ksmbd (kernel SMB daemon).
Это модуль, включающий встроенную в ядро Linux реализацию файлового сервера на базе протокола SMB3.
SMB (сокр. от англ. Server Message Block) — это сетевой протокол прикладного уровня для удаленного доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Этот протокол используется и в Windows, и в Linux.
Уязвимость в ядре Linux требует срочного обновления серверов с SMB
Ключевую роль тут обычно играет Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS.
Модуль ksmbd создавался в качестве дополнения к Samba; это отдельная разработка, написанная с нуля, без использования кода Samba. Разработчики до сих пор оптимизируют взаимодействие этих двух программ.
Произвольный код в контексте ядра
Проблема в ksmbd связана с обработкой команд SMB2_TREE_DISCONNECT: не производится надлежащая проверка существования объекта до осуществления операций с ним, говорится в бюллетене безопасности компании ZDI. Это позволяет запускать произвольный код в контексте самого ядра Linux.
Уязвимость выявили эксперты компании Thales Group в конце июля 2022 г. Публичное раскрытие состоялось 22 декабря 2022 г.
Как указываются некоторые исследователи, SMB-серверы, которые используют Samba, уязвимость не затрагивает. В то же время в случае с SMB-серверами с ksmbd злоумышленник с правами на чтение данных может считать содержимое памяти сервера (аналогично уязвимости Heartbleed).
Как отметил исследователь компании Wiz_IO Шир Тамари (Shir Tamari), большинство в реальности используют Samba, поскольку ksmbd — относительно новая разработка. «Так что, если у вас нет серверов SMB с ksmbd, наслаждайтесь уикендом», — добавил Тамари в своей публикации в конце прошлой недели.
Для того, чтобы устранить уязвимости, потребуется накатить обновление ядра Linux до версии 5.15.61, выпущенное в августе 2022 г., или более новой версии.
«Судя по списку изменений в версии 5.15.61, с ksmbd были связаны сразу несколько проблем, вызванных ошибками в программировании, — говорит Анастасия Мельникова, директор по информационной безопасности компании SEQ. — Сейчас нет никакой информации о том, пытался ли кто-то эксплуатировать эту уязвимость или нет, но такие попытки наверняка будут предприняты сейчас, когда информация вышла в публичное поле. Поэтому очень важно накатить обновления как можно скорее».