CVE-2026-80807 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
nilfs2: rejeitar índice de bloco inválido no ioctl GC
O Syzbot relatou corrupção na lista causada por uma chamada dupla para list_add_tail() em bh->b_assoc_buffers dentro de nilfs_lookup_dirty_data_buffers().
A análise revelou que a causa raiz foi a inserção de um page/folio com um índice de página (page index) igual a ULONG_MAX no cache de páginas através do ioctl GC. filemap_get_folios_tag(), chamada por nilfs_lookup_dirty_data_buffers(), detecta repetidamente um folio sujo com um índice de página igual a ULONG_MAX devido ao estouro/rotação do índice, levando ao processamento duplicado dos buffers sujos.
Como etapa preparatória, o ioctl GC carrega o page/folio do bloco que será movido durante o GC e o insere no cache de páginas com base nas informações na estrutura nilfs_vdesc passada como argumento. Normalmente, isso não causa problemas porque a biblioteca GC em user-space configura corretamente a estrutura nilfs_vdesc. No entanto, como não há verificação de intervalo nos parâmetros que determinam o índice da página, uma solicitação com parâmetros artificialmente manipulados -- tais como os gerados pelo Syzbot -- pode resultar na inserção de um page/folio com um índice de página igual a ULONG_MAX, acionando o problema acima.
Isso resolve o issue verificando os intervalos de 'vd_offset' e 'vd_vblocknr' na estrutura nilfs_vdesc que determinam o índice da página, impedindo assim as inserções inválidas de page/folio.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.