No kernel Linux, a seguinte vulnerabilidade foi resolvida: ntfs: evite a dereferência do elemento da lista de execução estável em fallocate ntfs_attr_fallocate() aloca buracos e atrasa as atribuições dentro do tamanho inicializado procurando o elemento da lista de execução atual sob ni->runlist.lock. O elemento struct runlist_ element devolvido é apenas um ponteiro emprestado para ni->runlist.rl. Um gravador pode substituir e libertar esse array depois que o bloqueio de leitura for solto, assim, mais tarde, lê o rl->lcn, o rl->long e o rl->vcn podem tocar a memória liberada. O cenário de buggy envolve dois caminhos, com cada coluna mostrando a ordem dentro desse caminho: ntfs_attr_fallocate(): 1. Tome ni->runlist.lock para leitura. 2. Obter o rl do ntfs_attr_find_vcn_nolock(). 3. Solte ni->runlist.lock. 4. Leia rl->lcn, rl->longe e rl->vcn. mmap page_mkwrite: 1. Digite ntfs_filemap_page_mkwrite(). 2. Alcance _ntfs_write_iomap_begin() e ntfs_attr_map_cluster(). 3. Mescla o estado de alocação com ntfs_runlists_merge(). 4. Realocar ni->runlist.rl em ntfs_rl_realloc(), libertando o array antigo. A validação reproduziu este relatório do kernel: BUG: KASAN: slab-use-after-free no ntfs_attr_fallocate+ 0 xbb 8 / 0 xd 00 Chame o rastreamento: dump_stack_lvl+ 0 x 66 / 0 xa 0 print_report+ 0 xce/ 0 x 630? ntfs_attr_falocate+ 0 xbb 8 / 0 xd 00? srso_alias_return_thunk+ 0 x 5 / 0 xfbef 5? __virt_addr_válido+ 0 x 20 d/ 0 x 410? ntfs_attr_falocate+ 0 xbb 8 / 0 xd 00 kasan_report+ 0 xe 0 / 0 x 110? ntfs_attr_falocate+ 0 xbb 8 / 0 xd 00 ntfs_attr_falocate+ 0 xbb 8 / 0 xd 00? lock_ aquire+ 0 x 2 b 8 / 0 x 2 f 0? __pfx_ntfs_attr_fallocate+ 0 x 10 / 0 x 10? 0 xffffffffc 0000095? down_write+ 0 x 10 d/ 0 x 1 e 0 ntfs_fallocate+ 0 x 5 c 9 / 0 x 1 d 00? __pfx_ntfs_fallocate+ 0 x 10 / 0 x 10? srso_alias_return_thunk+ 0 x 5 / 0 xfbef 5? lock_ aquire+ 0 x 2 b 8 / 0 x 2 f 0? srso_alias_return_thunk+ 0 x 5 / 0 xfbef 5? selinux_file_permissão+ 0 x 3 a 7 / 0 x 510 vfs_fallocate+ 0 x 29 d/ 0 xd 30 __x 64 _sys_fallocate+ 0 xc 7 / 0 x 150? do_syscall_ 64 + 0 x 81 / 0 x 6 a 0 do_syscall_ 64 + 0 x 115 / 0 x 6 a 0 entry_SYSCALL_ 64 _após_hwframe+ 0 x 77 / 0 x 7 f Alocado por tarefa 410: kasan_save_stack+ 0 x 33 / 0 x 60 kasan_save_track+ 0 x 14 / 0 x 30 __kasan_kmalloc+ 0 xaa/ 0 xb 0 __kvmalloc_node_noprof+ 0 x 353 / 0 x 920 ntfs_rl_realloc+ 0 x 3 f/ 0 x 110 ntfs_runlists_merge+ 0 xaa 3 / 0 x 3010 ntfs_attr_map_cluster+ 0 x 4 e 5 / 0 xf 80 ntfs_attr_falocate+ 0 x 53 f/ 0 xd 00 ntfs_fallocate+ 0 x 5 c 9 / 0 x 1 d 00 vfs_fallocate+ 0 x 29 d/ 0 xd 30 __x 64 _sys_fallocate+ 0 xc 7 / 0 x 150 do_syscall_ 64 + 0 x 115 / 0 x 6 a 0 entry_SYSCALL_ 64 _após_hwframe+ 0 x 77 / 0 x 7 f Libertado por tarefa 424: kasan_save_stack+ 0 x 33 / 0 x 60 kasan_save_track+ 0 x 14 / 0 x 30 kasan_save_free_info+ 0 x 3 b/ 0 x 60 __kasan_slab_free+ 0 x 5 f/ 0 x 80 kfree+ 0 x 307 / 0 x 580 ntfs_rl_realloc+ 0 x 6 f/ 0 x 110 ntfs_runlists_merge+ 0 x 7 b 1 / 0 x 3010 ntfs_attr_map_cluster+ 0 x 4 e 5 / 0 xf 80 _ntfs_write_iomap_begin+ 0 x 8 cd/ 0 x 2280 iomap_iter+ 0 x 6 de/ 0 x 11 e 0 Iomap_page_mkwrite+ 0 x 391 / 0 x 650 ntfs_filemap_page_mkwrite+ 0 x 1 ac/ 0 x 400 do_page_mkwrite+ 0 x 15 c/ 0 x 280 __handle_mm_fault+ 0 xd 6 d/ 0 x 1 ca 0 handle_mm_fault+ 0 x 19 c/ 0 x 470 do_user_addr_fault+ 0 x 23 b/ 0 x 9 c 0 exc_page_fault+ 0 x 5 c/ 0 xc 0 asm_exc_page_fault+ 0 x 26 / 0 x 30 Conserte isto copiando os campos necessários da lista de execução enquanto o bloqueio de leitura ainda estiver mantido e usando apenas aqueles instantâneos escalares após desbloquear. Depois do instantâneo, ntfs_attr_map_cluster() também pode descobrir que o intervalo já está mapeado e retorna balloc=false. Só chame ntfs_dio_zero_ range() quando novos clusters foram alocados, combinando com o caminho de gravação iomap e preservando o comportamento de buracos de zero- novo- alocados.
O registro do banco de dados nacional de vulnerabilidade CVE- 2026 - 72353 foi publicado em 2026 - 08 - 15 T 06: 22: 08.730 Z e última modificação em 2026 - 08 - 17 T 06: 18: 39.410 Z. O seu estado gravado é Recebido.
métricas de vulnerabilidade gravadas: CVSS 3.1, pontuação de base 8.8, gravidade HIGH, vetor CVSS: 3.1 /AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, pontuação de exploração 2.8, pontuação de impacto 5.9.
O registro NVD inclui referências de suporte documentando a vulnerabilidade, tecnologia afetada ou informações de remediação.