CVE-2026-92501 — ext4: drain in-flight DIO before buffered write fallback
In the Linux kernel, the following vulnerability has been resolved: ext4: drain in-flight DIO before buffered write fallback generic/746 started failing intermittently on ext3 (no-extent inodes). The test triggers 'Page cache invalidation failure on direct I/O' warnings and subsequent fsync returns -EIO. Adding a 50ms delay between ext4_buffered_write_iter() and filemap_write_and_wait_range() in ext4_dio_write_iter() makes the race almost always reproducible. On no-extent inodes, DIO writes to holes cannot use unwritten extents, so ext4_iomap_alloc() leaves m_flags=0 and ext4_map_blocks() returns 0. The iomap layer then returns -ENOTBLK, causing fallback to buffered I/O. The fallback path in ext4_dio_write_iter() calls ext4_buffered_write_iter() which dirties pages, then does flush and invalidate. However, there's an unprotected window between ext4_buffered_write_iter() returning (with inode lock released) and the subsequent flush+invalidate. Concurrent async DIO completions from other threads can run kiocb_invalidate_post_direct_write() during this window. If pages have been re-dirtied, post-invalidation finds dirty pages and triggers the warning, setting -EIO in the error sequence. Consider a file with two 4k extents: [hole][written]. Thread A does DIO to the written extent, while thread B does DIO spanning both: kworker A (4k DIO, allocated block) kworker B (8k DIO, fallback) ----------------------------------- ---------------------------- inode_lock_shared() inode_lock_shared() iomap_dio_rw(): iomap_dio_rw(): kiocb_invalidate_pages -> clean iomap_begin -> -ENOTBLK submit_bio (async) dio->size = 0 inode_unlock_shared() inode_unlock_shared() [bio pending in block layer] /* fallback: lock released */ ext4_buffered_write_iter() inode_lock(exclusive) generic_perform_write() -> dirty pages [0, 8k] inode_unlock(exclusive) /* pages dirty, no lock */ [bio completes] filemap_write_and_wait_range() iomap_dio_complete() -> flush dirty pages kiocb_invalidate_post_direct_write() invalidate_mapping_pages() invalidate_inode_pages2_range() -> finds dirty page! -> dio_warn_stale_pagecache() -> errseq_set(-EIO) This issue can be triggered through normal I/O paths, not just intentionally overlapping DIO writes from userspace. For example, generic/746 uses a loop device where multiple kworkers issue concurrent I/O to the backing file. Additionally, when block_size < folio_size, non-overlapping DIO writes that share a large folio can also trigger the race. Add inode_dio_wait() in ext4_buffered_write_iter() before ext4_write_checks() to drain all in-flight DIO. This ensures that all DIO clears existing pages before submitting IO (via kiocb_invalidate_pages()), all BIO waits for all DIO to complete (via inode_dio_wait()), and ext4_write_checks() observes the inode size after all completed DIO so that ext4_block_zero_eof() does not race with in-flight DIO, thus eliminating the race.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- EPSS 0.2% (probabilidade de exploração em 30 dias)+1
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
Nenhuma correção documentada pelas fontes consultadas. Isso não significa que não exista: verifique o aviso do fabricante.
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux).
- Nenhuma correção documentada nas fontes: reduza a exposição e monitore o aviso do fabricante.
- Procure nos logs disponíveis sinais de tentativa de exploração, erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
| Fabricante | Produto | Versões | Status | Fonte |
|---|---|---|---|---|
| Linux | Linux |
≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < fd7e0dab20837b9ea1eeef7c26f78ace8ac8258c≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < f0af3ae09fb72382da1a5371bf6761b0264668e4≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < 7341e234927ff215f1d5d0bcfe04b74f53af378d≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < 74eee4ff9698a65b2e6e15dac0e50d6526ad5f20≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < d47cdadd6e49023f7ee248048463807f1214f1ee≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < 4e4e3eec506247c8f8bd8aaa1eb25e67016681a5≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < 9fd3ffc3c51c9deaba99bd7b338fff2d08f52416≥ 378f32bab3714f04c4e0c3aee4129f6703805550 e < 15cdefd0c0522f9d5e12d947fa04f4c11649b699 e mais 1versão 5.5 |
Vulnerável | CVE Program (cve.org) e CISA ADP |
EPSS ao longo do tempo FIRST
15/10/2026 → 16/10/2026 · 2 leitura(s) · máximo 0.18%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Sem vetor ou classe de fraqueza suficientes: use os logs da aplicação afetada como ponto de partida.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Ficha publicada
- Produtos afetados adicionados · linux/linux
- Status na fonte alterado · → Received
- Registro criado nesta base
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 1× Descrição oficial atualizada · 15/10/2026 – 15/10/2026
Referências
8 no registro
- git.kernel.org/stable/c/9fd3ffc3c51c9deaba99bd7b338fff2d08f52416
- git.kernel.org/stable/c/74eee4ff9698a65b2e6e15dac0e50d6526ad5f20
- git.kernel.org/stable/c/d47cdadd6e49023f7ee248048463807f1214f1ee
- git.kernel.org/stable/c/7341e234927ff215f1d5d0bcfe04b74f53af378d
- git.kernel.org/stable/c/f0af3ae09fb72382da1a5371bf6761b0264668e4
- git.kernel.org/stable/c/15cdefd0c0522f9d5e12d947fa04f4c11649b699
- git.kernel.org/stable/c/4e4e3eec506247c8f8bd8aaa1eb25e67016681a5
- git.kernel.org/stable/c/fd7e0dab20837b9ea1eeef7c26f78ace8ac8258c
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Crítica CVE-2026-99999 ipv4: validate checksum_start before completing checksum 2 d
- Desconhecida CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 2 d
- Desconhecida CVE-2026-98424 wifi: cfg80211: undo netns switch if renaming the wiphy fails 3 d
- Desconhecida CVE-2026-98425 wifi: mac80211: don't warn when an IBSS has no channel to scan 3 d
- Desconhecida CVE-2026-98426 wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path 3 d
- Desconhecida CVE-2026-98427 net/sched: codel: bound the dropping loop per dequeue call 3 d
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Nenhuma pontuação CVSS publicada por NVD, CNA, CISA ou GitHub até agora.
- Nenhuma versão corrigida, patch ou mitigação documentada.
- Sem avaliação SSVC da CISA.
- Sem classificação CWE.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2026-92501 é "ext4: drain in-flight DIO before buffered write fallback", de severidade Desconhecida. Afeta Linux (Linux); as versões estão na tabela de escopo. Não está na CISA KEV, o que não exclui exploração. EPSS 0.18% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.