CVE Intelligence
Média

CVE-2024-57975 — btrfs: do proper folio cleanup when run_delalloc_nocow() failed

In the Linux kernel, the following vulnerability has been resolved: btrfs: do proper folio cleanup when run_delalloc_nocow() failed [BUG] With CONFIG_DEBUG_VM set, test case generic/476 has some chance to crash with the following VM_BUG_ON_FOLIO(): BTRFS error (device dm-3): cow_file_range failed, start 1146880 end 1253375 len 106496 ret -28 BTRFS error (device dm-3): run_delalloc_nocow failed, start 1146880 end 1253375 len 106496 ret -28 page: refcount:4 mapcount:0 mapping:00000000592787cc index:0x12 pfn:0x10664 aops:btrfs_aops [btrfs] ino:101 dentry name(?):"f1774" flags: 0x2fffff80004028(uptodate|lru|private|node=0|zone=2|lastcpupid=0xfffff) page dumped because: VM_BUG_ON_FOLIO(!folio_test_locked(folio)) ------------[ cut here ]------------ kernel BUG at mm/page-writeback.c:2992! Internal error: Oops - BUG: 00000000f2000800 [#1] SMP CPU: 2 UID: 0 PID: 3943513 Comm: kworker/u24:15 Tainted: G OE 6.12.0-rc7-custom+ #87 Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU KVM Virtual Machine, BIOS unknown 2/2/2022 Workqueue: events_unbound btrfs_async_reclaim_data_space [btrfs] pc : folio_clear_dirty_for_io+0x128/0x258 lr : folio_clear_dirty_for_io+0x128/0x258 Call trace: folio_clear_dirty_for_io+0x128/0x258 btrfs_folio_clamp_clear_dirty+0x80/0xd0 [btrfs] __process_folios_contig+0x154/0x268 [btrfs] extent_clear_unlock_delalloc+0x5c/0x80 [btrfs] run_delalloc_nocow+0x5f8/0x760 [btrfs] btrfs_run_delalloc_range+0xa8/0x220 [btrfs] writepage_delalloc+0x230/0x4c8 [btrfs] extent_writepage+0xb8/0x358 [btrfs] extent_write_cache_pages+0x21c/0x4e8 [btrfs] btrfs_writepages+0x94/0x150 [btrfs] do_writepages+0x74/0x190 filemap_fdatawrite_wbc+0x88/0xc8 start_delalloc_inodes+0x178/0x3a8 [btrfs] btrfs_start_delalloc_roots+0x174/0x280 [btrfs] shrink_delalloc+0x114/0x280 [btrfs] flush_space+0x250/0x2f8 [btrfs] btrfs_async_reclaim_data_space+0x180/0x228 [btrfs] process_one_work+0x164/0x408 worker_thread+0x25c/0x388 kthread+0x100/0x118 ret_from_fork+0x10/0x20 Code: 910a8021 a90363f7 a9046bf9 94012379 (d4210000) ---[ end trace 0000000000000000 ]--- [CAUSE] The first two lines of extra debug messages show the problem is caused by the error handling of run_delalloc_nocow(). E.g. we have the following dirtied range (4K blocksize 4K page size): 0 16K 32K |//////////////////////////////////////| | Pre-allocated | And the range [0, 16K) has a preallocated extent. - Enter run_delalloc_nocow() for range [0, 16K) Which found range [0, 16K) is preallocated, can do the proper NOCOW write. - Enter fallback_to_fow() for range [16K, 32K) Since the range [16K, 32K) is not backed by preallocated extent, we have to go COW. - cow_file_range() failed for range [16K, 32K) So cow_file_range() will do the clean up by clearing folio dirty, unlock the folios. Now the folios in range [16K, 32K) is unlocked. - Enter extent_clear_unlock_delalloc() from run_delalloc_nocow() Which is called with PAGE_START_WRITEBACK to start page writeback. But folios can only be marked writeback when it's properly locked, thus this triggered the VM_BUG_ON_FOLIO(). Furthermore there is another hidden but common bug that run_delalloc_nocow() is not clearing the folio dirty flags in its error handling path. This is the common bug shared between run_delalloc_nocow() and cow_file_range(). [FIX] - Clear folio dirty for range [@start, @cur_offset) Introduce a helper, cleanup_dirty_folios(), which will find and lock the folio in the range, clear the dirty flag and start/end the writeback, with the extra handling for the @locked_folio. - Introduce a helper to clear folio dirty, start and end writeback - Introduce a helper to record the last failed COW range end This is to trace which range we should skip, to avoid double unlocking. - Skip the failed COW range for the e ---truncated---

Descrição oficial em inglês (tradução ainda não revisada).

Publicada em 26/02/2025 · Atualizada em 21/10/2026 · Fontes: NIST National Vulnerability Database, CVE Program (cve.org) e CISA ADP, GitHub Security Advisories · CNA: Linux

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.

Nenhum sinal de exploração nas fontes consultadas até agora.
Como a nota foi calculada
  • EPSS 0.2% (probabilidade de exploração em 30 dias)+2
  • Severidade técnica (medium)+3

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.

Exploração
Não confirmada
Fora da CISA KEV — ausência de registro, não prova de que não é explorada.
EPSS FIRST
0,22%
à frente de 11% das CVEs pontuadas · 22/10/2026
Afeta
Linux
Linux e mais 1
CVSS base
5.5
Média · 4 fonte(s)
Referência para priorização: 7.8 provisória

Remediação

Correções e mitigações documentadas pelas fontes — com link para o aviso original.

  • Patch documentado — git.kernel.org (NIST National Vulnerability Database)
  • Patch documentado — git.kernel.org (NIST National Vulnerability Database)
  • Patch documentado — git.kernel.org (NIST National Vulnerability Database)

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.

  1. Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux, Linux Linux Kernel).
  2. Aplique a versão corrigida ou o patch documentado na seção Remediação.
  3. 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.

FabricanteProdutoVersõesStatusFonte
Linux Linux ≥ 17ca04aff7e6171df684b7b65804df8830eb8c15 e < 545d6893d3a34737d000af103e1557c592075c41≥ 17ca04aff7e6171df684b7b65804df8830eb8c15 e < 5ae72abbf91eb172ce3a838a4dc34be3c9707296≥ 17ca04aff7e6171df684b7b65804df8830eb8c15 e < 2434533f1c963e7317c45880c98287e5bed98325≥ 17ca04aff7e6171df684b7b65804df8830eb8c15 e < c2b47df81c8e20a8e8cd94f0d7df211137ae94edversão 3.5 Vulnerável CVE Program (cve.org) e CISA ADP
Linux Linux Kernel < 6.12.13≥ 6.13 e < 6.13.2 Vulnerável NIST National Vulnerability Database

Características do ataque

O vetor CVSS decodificado. Descreve o ataque, não a sua exposição a ele.

Vetor de ataque
Local
Complexidade
Baixa
Privilégios exigidos
Baixos
Interação do usuário
Nenhuma
Escopo
Inalterado
Confidencialidade
Nenhum
Integridade
Nenhum
Disponibilidade
Alto

Todas as pontuações coletadas

As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.

NotaVersãoSeveridadeExplor.ImpactoPontuado por
7.8 CVSS 3.1 Alta 1.8 5.9 416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database
7.8 CVSS 3.1 Alta — — Linux via CVE Program (cve.org) e CISA ADP
5.5 CVSS 3.1 Média 1.8 3.6 nvd@nist.gov via NIST National Vulnerability Database
5.5 CVSS 3.1 Média — — GitHub, Inc. via GitHub Security Advisories
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H (nota exibida no topo: nvd@nist.gov)
As entidades avaliadoras (NIST, CNA, ADP) pontuam de forma independente; cada nota é exibida com sua origem. Para priorização, usamos 7.8 (416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database) como referência conservadora provisória — não é uma nota oficial definitiva.

Fraqueza MITRE

Classe de fraqueza segundo o catálogo CWE do MITRE.

CWE-459

Outras CVEs com esta fraqueza →

EPSS ao longo do tempo FIRST

20/10/2026 → 22/10/2026 · 3 leitura(s) · máximo 0.22%

Detecção

Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.

  • Vetor local/físico: concentre-se em telemetria de endpoint (EDR) dos hosts afetados.
telemetria de endpoint (EDR)

Linha do tempo

O que aconteceu com esta CVE, do mais recente ao mais antigo.

  • 2026
  • Produtos afetados adicionados · linux/linux
    21/10/2026 · CVE Program (cve.org) e CISA ADP
  • Ficha publicada
    21/10/2026
  • Correção documentada
    21/10/2026 · NIST National Vulnerability Database
  • Produtos afetados adicionados · linux/linux kernel
    21/10/2026 · NIST National Vulnerability Database
  • CVSS alterado · 5.5
    21/10/2026 · NIST National Vulnerability Database
  • Status na fonte alterado · → Modified
    21/10/2026 · NIST National Vulnerability Database
  • Registro criado nesta base
    21/10/2026 · Alertas do Telegram
  • 2025
  • CVE publicada
    26/02/2025 · Linux

Atividade das fontes

Leituras que se repetem foram contadas em vez de listadas.

  • 2× Referências adicionadas · 21/10/2026 – 21/10/2026
  • 1× Descrição oficial atualizada · 21/10/2026 – 21/10/2026

Referências

6 no registro

Em outras páginas do site

Linux
todas as CVEs deste fabricante
CWE-459
outras páginas com esta fraqueza

CVEs relacionadas (mesmos produtos)

  • Desconhecida CVE-2026-98869 bpf: Infer zext_dst based on static register liveness analysis 1 d
  • Desconhecida CVE-2023-7356 Bluetooth: ISO: Copy BASE if service data matches EIR_BAA_SERVICE_UUID 1 d
  • Desconhecida CVE-2026-98866 sched/cache: Introduce task_struct->sched_cache_grp to fix UAF 4 d
  • Desconhecida CVE-2026-98867 dm-pcache: bound the logical key offset from persistent memory 4 d
  • Desconhecida CVE-2026-98868 dm-pcache: reject a kset that overruns its segment 4 d
  • Desconhecida CVE-2026-98856 kprobes: Skip disarmed probes when checking optkprobe overlap 4 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.

  • Sem avaliação SSVC da CISA.
  • 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-2024-57975 é "btrfs: do proper folio cleanup when run_delalloc_nocow() failed", de severidade Média. 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. CVSS 5.5 descreve a severidade técnica. EPSS 0.22% 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.