CVE-2026-64398 in Linux
Sumário
de VulDB • 26/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
ksmbd: adiciona uma verificação de permissão para o FSCTL_SET_ZERO_DATA
O FSCTL_SET_ZERO_DATA em smb2_ioctl() destrói os dados do arquivo através de ksmbd_vfs_zero_data() -> vfs_fallocate(PUNCH_HOLE/ZERO_RANGE) após verificar apenas a flag KSMBD_TREE_CONN_FLAG_WRITABLE ao nível da partilha, sem uma verificação de acesso por handle. Um handle aberto com apenas FILE_WRITE_ATTRIBUTES ainda resulta num filp FMODE_WRITE (uma vez que FILE_WRITE_ATTRIBUTES faz parte do FILE_WRITE_DESIRE_ACCESS_LE, portanto smb2_create_open_flags() o abre como O_WRONLY), pelo que a verificação FMODE_WRITE no vfs_fallocate não impede essa operação; apenas a ausência da validação fp->daccess é que poderia. Reproduzido na versão mainline 7.1-rc7 com KASAN por um cliente SMB autenticado: um handle com permissão exclusiva de FILE_WRITE_ATTRIBUTES zerou 4096 bytes dos dados do arquivo, embora não tivesse direito a FILE_WRITE_DATA (caso 6/6; um handle com apenas FILE_READ_DATA foi corretamente negado).
Esta é a vulnerabilidade irmã não corrigida do commit cc57232cae23 ("ksmbd: corrige o bypass de permissão no FSCTL adicionando uma verificação para o FSCTL_SET_SPARSE"). Como o SET_ZERO_DATA grava dados (e não um atributo), exige-se FILE_WRITE_DATA.
VulDB is the best source for vulnerability data and more expert information about this specific topic.