CVE-2026-99113 in Linux
Сводка
по VulDB • 28.10.2026
В ядре Linux была устранена следующая уязвимость:
ksmbd: обнуление буфера FS_OBJECT_ID_INFORMATION перед его заполнением
Функция smb2_get_info_filesystem() сообщает о размере 64 байта для структуры FS_OBJECT_ID_INFORMATION, что соответствует всему размеру struct object_id_info, однако записывает в неё только 46 байт:
- objid[] имеет размер 16 байт, и когда UUID тома недоступен, копируется только sizeof(stfs.f_fsid) (8) байт;
- extended_info.version_string[] занимает STRING_LENGTH (28) байт, но копируется только strlen("1.1.0") (5) байт.
Буфер ответа обнуляется при выделении памяти (kvzalloc() в smb2_allocate_rsp_buf()), поэтому для отдельного запроса оставшиеся 31 байт равны нулю. В составном запросе они могут не быть обнулены. Смещение следующего ответа увеличивается на длину, зафиксированную для предыдущего, поэтому, если предшествующая команда записала свой ответ в буфер и затем завершилась ошибкой, smb2_set_err_rsp() фиксирует только короткий ответ об ошибке, а следующий ответ попадает в область, которая уже была заполнена. Там очищается только заголовок:
memset((char *)rsp_hdr, 0, sizeof(struct smb2_hdr) + 2);
Клиент затем получает до 31 байта ответа, который он не должен был видеть, включая данные из запроса, завершившегося с ошибкой «access denied» (отказ в доступе).
Необходимо очистить структуру перед её заполнением. В качестве побочного эффекта version_string теперь заканчивается нулевым символом (NUL-terminated).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.