PT-2026-85788 · Linux · Linux

CVE-2026-80869

·

Publicado

2026-09-04

·

Atualizado

2026-09-04

Nenhuma

Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
In the Linux kernel, the following vulnerability has been resolved:
ntfs: bound the attribute-list entry in ntfs read inode mount()
The $MFT attribute-list walk in ntfs read inode mount() validates each entry only with "(u8 *)al entry + 6 > al end" and "(u8 *)al entry + le16 to cpu(al entry->length) > al end", but then reads al entry->lowest vcn (an le64 at offset 8) and al entry->mft reference (offset 16) -- fields beyond the 6 bytes proven in range. al entry->length is attacker-controlled and only required non-zero, so a short entry (e.g. length 8) placed at the tail passes both checks while the lowest vcn / mft reference reads fall past al end.
al end is ni->attr list + attr list size (the on-disk size); the buffer is kvzalloc(round up(attr list size, SECTOR SIZE)), so the sector rounding usually absorbs the over-read -- but when attr list size is a multiple of SECTOR SIZE there is no slack and a crafted $MFT attribute list produces an out-of-bounds read at mount time.
Validate the entry with ntfs attr list entry is valid() (added in patch 1/3) before dereferencing it, matching the bound the other attribute-list walks now use. The validator already requires the length to cover the fixed header, which makes the separate "!al entry->length" check redundant, so drop it too.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

CVE-2026-80869

Produtos afetados

Linux