CVE-2026-80869 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
ntfs: limitou a entrada da lista de atributos em ntfs_read_inode_mount()
A varredura na lista de atributos $MFT em ntfs_read_inode_mount() valida cada entrada apenas com "(u8 *)al_entry + 6 > al_end" e "(u8 *)al_entry + le16_to_cpu(al_entry->length) > al_end", mas então lê al_entry->lowest_vcn (um __le64 no deslocamento 8) e al_entry->mft_reference (deslocamento 16) -- campos além dos 6 bytes comprovadamente dentro do intervalo. O campo al_entry->length é controlado pelo atacante e só precisa ser não nulo, portanto uma entrada curta (por exemplo, comprimento 8) posicionada no final passa em ambas as verificações, enquanto as leituras de lowest_vcn / mft_reference ultrapassam o limite de al_end.
al_end é ni->attr_list + attr_list_size (o tamanho em disco); o buffer é alocado com kvzalloc(round_up(attr_list_size, SECTOR_SIZE)), portanto o arredondamento para setor geralmente absorve a leitura fora dos limites -- mas quando attr_list_size é um múltiplo de SECTOR_SIZE não há margem e uma lista de atributos $MFT manipulada ad hoc produz uma leitura fora dos limites no momento da montagem.
Valide a entrada com ntfs_attr_list_entry_is_valid() (adicionada no patch 1/3) antes de fazer o dereferencing, correspondendo ao limite que as outras varreduras na lista de atributos agora utilizam. O validador já exige que o comprimento cubra o cabeçalho fixo, tornando a verificação separada "!al_entry->length" redundante; portanto, remova-a também.
If you want to get best quality of vulnerability data, you may have to visit VulDB.