Хакер #305. Многошаговые SQL-инъекции
Минувшим летом специалисты из компании Thales Group обнаружили критическую уязвимость (CVE-2022-47939) в модуле ksmbd ядра Linux, который был добавлен в ядро в версии 5.15. Этот баг получил 10 баллов из 10 возможных по шкале оценки уязвимостей CVSS, а его эксплуатация позволяет неаутентифицированному пользователю удаленно выполнить произвольный код.
Напомню, что ksmbd — это файловый сервер, построенный на базе протокола SMB3, представляющий собой простую альтернативу Samba. Он был создан инженерами компаний Samsung и LG и ориентирован на более высокую производительность и новые функции. В ядро ksmbd добавили в 2021 году.
Раскрытие данных об этой уязвимости отложили почти на полгода: в силу высокой опасности бага исследователи решили подождать выхода патча.
Как оказалось, корень проблемы крылся в том, что ksmbd работает в самом ядре, а не в пространстве пользователя (userspace). Еще в прошлом году этот факт вызвал беспокойство у некоторых пользователей и экспертов. К примеру, немецкая компания SerNet, предлагающая собственную версию Samba, писала в блоге, что ksmbd впечатляет, однако пока его можно назвать незрелым. А команда Samba+ из SerNet сообщала, что добавление SMB-сервера в пространство ядра и желание «выжать лишний бит производительности из доступного оборудования», вряд ли оправдывает возникающие при этом риски.
Теперь выяснилось, что уязвимость в ksmbd может привести к утечке памяти SMB-сервера, аналогично нашумевшей проблеме Heartbleed. По информации экспертов Zero-Day Initiative, уязвимость относится к типу use-after-free и возникает при обработке команд SMB2_TREE_DISCONNECT. По сути, проблема связана с тем, что ksmbd не проводит валидацию существования объектов перед выполнением операций с ними.
Как отмечает в Twitter ИБ-исследователь Шир Тамари (Shir Tamari), баг не затрагивает тех, кто не использует «экспериментальный модуль ksmbd», а полагается на Samba.
«Ksmbd — это новый продукт. Большинство пользователей по-прежнему используют Samba, и ее эта проблема не затрагивает. В общем, если вы не используете SMB-серверы с ksmbd, наслаждайтесь праздниками», — пишет Тамари.
Тем, кто все же использует ksmbd, тоже вовсе необязательно переходить на Samba: можно обновить ядро Linux до версии 5.15.61, выпущенной в августе (или более новой версии), где уязвимость была устранена.