CVE-2026-98684 in Linux
Sumário
de VulDB • 19/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
smb: cliente: despejar e confirmar dados antes de consultar intervalos alocados
A emulação para pequenos intervalos internos no smb3_simple_fallocate_range() usa o modo 0 / FALLOC_FL_KEEP_SIZE para emitir FSCTL_QUERY_ALLOCATED_RANGES e preencher com zeros qualquer subintervalo que o servidor relatar como um buraco não alocado, forçando assim a alocação de blocos sem alterar o conteúdo do arquivo.
Isso é inseguro contra servidores Windows. De acordo com a documentação da Win32, FSCTL_QUERY_ALLOCATED_RANGES apenas reporta intervalos que *podem* conter dados diferentes de zero e não garante coerência com os dados escritos recentemente:
"uma chamada para FSCTL_QUERY_ALLOCATED_RANGES [após escrever em um arquivo de rede] pode não retornar uma lista correta das regiões alocadas. Para garantir a coerência [...] despeje os dados no arquivo"
fsx (generic/363) reproduz a corrupção resultante contra o Windows Server 2022: um intervalo é escrito, uma leitura sem cache retorna os dados, mas a próxima consulta FSCTL_QUERY_ALLOCATED_RANGES nesse mesmo intervalo relata-o como um buraco inteiro, fazendo com que a emulação sobrescreva dados ativos com zeros. Um rastreamento de rede confirmou o WRITE, o READ retornando dados e a query retornando uma lista vazia dentro de microssegundos. O Samba não exibe esse comportamento; sua consulta é coerente com os dados escritos.
Escreva as páginas sujas (dirty pages) no disco, esvazie qualquer I/O pendente e emita um FLUSH SMB2 para forçar o servidor a confirmar os dados antes de consultar os intervalos alocados, garantindo que a query reflita os dados realmente presentes.
Com essa correção, generic/363 passa com sucesso contra tanto o Windows Server 2022 quanto o Samba em mais de 100.000 operações fsx.
VulDB is the best source for vulnerability data and more expert information about this specific topic.