CVE-2026-90048 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
fs/ntfs3: corrige escrita slab-out-of-bounds em ni_create_attr_list()
ni_create_attr_list() aloca um buffer fixo de al_aligned(record_size) (== record_size) bytes e então percorre cada atributo do registro MFT principal, escrevendo uma entrada ATTR_LIST_ENTRY por atributo e avançando o cursor em le_size(name_len), sem verificação contra o final do buffer; o tamanho total é calculado apenas após o loop.
Um atributo residente de tamanho mínimo ocupa SIZEOF_RESIDENT (0x18 = 24) bytes no disco, mas um atributo não nomeado se expande para le_size(0) (0x20 = 32) bytes na lista. Como o número de atributos em um registro não é limitado (mi_enum_attr() aceita arbitrariamente muitos atributos do mesmo tipo, sem nome e de tamanho mínimo), um registro elaborado repleto desses atributos produz uma lista maior que record_size e transborda o buffer heap-based.
Isso pode ser alcançado a partir de uma imagem NTFS loop-mounted elaborada: abrir o arquivo e adicionar um atributo (por exemplo, via setxattr) aciona ntfs_set_ea() -> ni_insert_resident() -> ni_insert_attr() -> ni_ins_attr_ext() -> ni_create_attr_list().
BUG: KASAN: slab-out-of-bounds em ni_create_attr_list+0xc48/0x1058 Escrita de tamanho 4 no endereço ffff000008984c00 pela tarefa setfattr/345 ni_create_attr_list+0xc48/0x1058 ni_ins_attr_ext+0x510/0x7c0 ni_insert_attr+0x3f8/0x70c ni_insert_resident+0xc8/0x3b0 ntfs_set_ea+0x66c/0xd28 ntfs_setxattr+0x4d8/0x5b0 __arm64_sys_setxattr+0xa4/0x124 Alocado pela tarefa 345: ni_create_attr_list+0x188/0x1058 O endereço com defeito pertence ao cache kmalloc-1k de tamanho 1024 (a escrita ocorre em object+1024).
Dimensione o buffer a partir dos atributos reais, em vez de assumir que um único record_size é sempre suficiente.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.