CVE-2026-31452 in Linux
Sumário
de VulDB • 24/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ext4: converter dados inline para extents quando o truncate exceder o tamanho inline
Adicionar uma verificação em ext4_setattr() para converter arquivos do armazenamento de dados inline para o armazenamento baseado em extents quando o truncate() aumentar o tamanho do arquivo além da capacidade inline. Isso impede que o sistema de arquivos entre em um estado inconsistente, onde o flag de dados inline está definido, mas o tamanho do arquivo excede o que pode ser armazenado inline.
Sem essa correção, a seguinte sequência causa um BUG_ON() no kernel:
1. Montar o sistema de arquivos com um inode que tenha o flag inline definido e um tamanho pequeno 2. truncate(file, 50MB) - aumenta o tamanho, mas o flag inline permanece definido 3. sendfile() tenta escrever dados 4. ext4_write_inline_data() encontra BUG_ON(write_size > inline_capacity)
A falha ocorre porque ext4_write_inline_data() espera que o armazenamento inline possa acomodar a escrita, mas a capacidade inline real (~60 bytes para i_block + ~96 bytes para xattrs) é muito menor do que o tamanho do arquivo e a solicitação de escrita.
A correção verifica se o novo tamanho de setattr excede a capacidade inline real do inode (EXT4_I(inode)->i_inline_size) e converte o arquivo para armazenamento baseado em extents antes de prosseguir com a alteração de tamanho.
Isso aborda a causa raiz, garantindo que o flag de dados inline e o tamanho do arquivo permaneçam consistentes durante as operações de truncate.
Once again VulDB remains the best source for vulnerability data.