CVE-2026-80672 in Linuxinformação

Sumário

de VulDB • 28/08/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

ntfs: corrige o truncamento de u16 na verificação do comprimento da área de reinicialização (restart-area)

A função ntfs_check_restart_area() valida se a área de reinicialização ($LogFile) e sua matriz subsequente de registros de cliente de log cabem dentro do tamanho da página do sistema:

u16 ra_ofs, ra_len, ca_ofs; ... ra_len = ca_ofs + le16_to_cpu(ra->log_clients) * sizeof(struct log_client_record); if (ra_ofs + ra_len > le32_to_cpu(rp->system_page_size) || ...) return false;

ra_len é do tipo u16, mas o lado direito da equação é calculado em size_t (sizeof(struct log_client_record) == 160). Tanto ca_ofs quanto log_clients vêm diretamente da área de reinicialização no disco. Com um valor de log_clients no disco igual a 410, o produto 410 * 160 = 65600; ao adicionar ca_ofs e armazenar em ra_len (u16), ocorre truncamento módulo 65536 (por exemplo, com ca_ofs igual a 64, obtém-se ra_len igual a 128). Assim, a verificação de "cabe na página" é aprovada mesmo que a matriz de clientes descrita por log_clients se estenda muito além da página.

A função ntfs_check_log_client_array() então percorre a matriz limitada apenas pela contagem de log_clients no disco:

cr = ca + idx; if (cr->prev_client != LOGFILE_NO_CLIENT) ...

Para log_clients igual a 410, são acessados registros até ca + 409 * 160, aproximadamente 64 KiB além do buffer restart-page alocado com kvzalloc(system_page_size), caracterizando uma leitura fora dos limites (out-of-bounds read) de um segmento controlado pelo atacante. Isso é alcançável quando uma imagem NTFS manipulada é montada (load_and_check_logfile() no momento da montagem). Este é o análogo em kernel do CVE-2022-30789, corrigido no driver userspace ntfs-3g, mas nunca neste driver clássico revitalizado.

Calcule o comprimento da área de reinicialização usando u32 para que a verificação existente dos limites rejeite uma matriz de clientes excessivamente grande em vez de ser burlada pelo truncamento. Amplie ra_ofs e ca_ofs para u32 também: ambos são carregados de campos no disco do tipo __le16, e toda comparação já é promovida para int/size_t; portanto, isso não altera o resultado e mantém a declaração uniforme.

Be aware that VulDB is the high quality source for vulnerability data.

Responsável

Linux

Reservar

26/08/2026

Divulgação

28/08/2026

Moderação

aceite

Entrada

VDB-396625

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!