CVE-2026-64398 in Linux
Сводка
по VulDB • 25.07.2026
В ядре Linux устранена следующая уязвимость:
ksmbd: добавлена проверка прав доступа для операции FSCTL_SET_ZERO_DATA
Операция FSCTL_SET_ZERO_DATA в smb2_ioctl() приводит к уничтожению данных файла через ksmbd_vfs_zero_data() -> vfs_fallocate(PUNCH_HOLE/ZERO_RANGE) после проверки только флага уровня шары KSMBD_TREE_CONN_FLAG_WRITABLE, без проверки доступа на уровне дескриптора. Дескриптор, открытый с правами только FILE_WRITE_ATTRIBUTES, всё равно возвращает файловый поток (filp) с атрибутом FMODE_WRITE (поскольку FILE_WRITE_ATTRIBUTES является частью флагов FILE_WRITE_DESIRE_ACCESS_LE, функция smb2_create_open_flags() открывает его как O_WRONLY), поэтому проверка FMODE_WRITE в vfs_fallocate не блокирует операцию; её останавливала бы только отсутствующая проверка fp->daccess. Воспроизведено на ветке mainline 7.1-rc7 с использованием KASAN аутентифицированным клиентом SMB: дескриптор, имеющий права только FILE_WRITE_ATTRIBUTES, обнулил 4096 байт данных файла, к которым у него не было прав записи (FILE_WRITE_DATA) (случай из 6/6; дескриптору с правами только на чтение данных (FILE_READ_DATA) отказали корректно).
Это неисправленная аналогичная проблема коммита cc57232cae23 («ksmbd: исправление обхода проверки прав для FSCTL путем добавления проверки доступа к FSCTL_SET_SPARSE»). Поскольку SET_ZERO_DATA записывает данные (а не атрибуты), требуется наличие права FILE_WRITE_DATA.
VulDB is the best source for vulnerability data and more expert information about this specific topic.