CVE-2025-22115 — btrfs: fix block group refcount race in btrfs_create_pending_block_groups()
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix block group refcount race in btrfs_create_pending_block_groups() Block group creation is done in two phases, which results in a slightly unintuitive property: a block group can be allocated/deallocated from after btrfs_make_block_group() adds it to the space_info with btrfs_add_bg_to_space_info(), but before creation is completely completed in btrfs_create_pending_block_groups(). As a result, it is possible for a block group to go unused and have 'btrfs_mark_bg_unused' called on it concurrently with 'btrfs_create_pending_block_groups'. This causes a number of issues, which were fixed with the block group flag 'BLOCK_GROUP_FLAG_NEW'. However, this fix is not quite complete. Since it does not use the unused_bg_lock, it is possible for the following race to occur: btrfs_create_pending_block_groups btrfs_mark_bg_unused if list_empty // false list_del_init clear_bit else if (test_bit) // true list_move_tail And we get into the exact same broken ref count and invalid new_bgs state for transaction cleanup that BLOCK_GROUP_FLAG_NEW was designed to prevent. The broken refcount aspect will result in a warning like: [1272.943527] refcount_t: underflow; use-after-free. [1272.943967] WARNING: CPU: 1 PID: 61 at lib/refcount.c:28 refcount_warn_saturate+0xba/0x110 [1272.944731] Modules linked in: btrfs virtio_net xor zstd_compress raid6_pq null_blk [last unloaded: btrfs] [1272.945550] CPU: 1 UID: 0 PID: 61 Comm: kworker/u32:1 Kdump: loaded Tainted: G W 6.14.0-rc5+ #108 [1272.946368] Tainted: [W]=WARN [1272.946585] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014 [1272.947273] Workqueue: btrfs_discard btrfs_discard_workfn [btrfs] [1272.947788] RIP: 0010:refcount_warn_saturate+0xba/0x110 [1272.949532] RSP: 0018:ffffbf1200247df0 EFLAGS: 00010282 [1272.949901] RAX: 0000000000000000 RBX: ffffa14b00e3f800 RCX: 0000000000000000 [1272.950437] RDX: 0000000000000000 RSI: ffffbf1200247c78 RDI: 00000000ffffdfff [1272.950986] RBP: ffffa14b00dc2860 R08: 00000000ffffdfff R09: ffffffff90526268 [1272.951512] R10: ffffffff904762c0 R11: 0000000063666572 R12: ffffa14b00dc28c0 [1272.952024] R13: 0000000000000000 R14: ffffa14b00dc2868 R15: 000001285dcd12c0 [1272.952850] FS: 0000000000000000(0000) GS:ffffa14d33c40000(0000) knlGS:0000000000000000 [1272.953458] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [1272.953931] CR2: 00007f838cbda000 CR3: 000000010104e000 CR4: 00000000000006f0 [1272.954474] Call Trace: [1272.954655] <TASK> [1272.954812] ? refcount_warn_saturate+0xba/0x110 [1272.955173] ? __warn.cold+0x93/0xd7 [1272.955487] ? refcount_warn_saturate+0xba/0x110 [1272.955816] ? report_bug+0xe7/0x120 [1272.956103] ? handle_bug+0x53/0x90 [1272.956424] ? exc_invalid_op+0x13/0x60 [1272.956700] ? asm_exc_invalid_op+0x16/0x20 [1272.957011] ? refcount_warn_saturate+0xba/0x110 [1272.957399] btrfs_discard_cancel_work.cold+0x26/0x2b [btrfs] [1272.957853] btrfs_put_block_group.cold+0x5d/0x8e [btrfs] [1272.958289] btrfs_discard_workfn+0x194/0x380 [btrfs] [1272.958729] process_one_work+0x130/0x290 [1272.959026] worker_thread+0x2ea/0x420 [1272.959335] ? __pfx_worker_thread+0x10/0x10 [1272.959644] kthread+0xd7/0x1c0 [1272.959872] ? __pfx_kthread+0x10/0x10 [1272.960172] ret_from_fork+0x30/0x50 [1272.960474] ? __pfx_kthread+0x10/0x10 [1272.960745] ret_from_fork_asm+0x1a/0x30 [1272.961035] </TASK> [1272.961238] ---[ end trace 0000000000000000 ]--- Though we have seen them in the async discard workfn as well. It is most likely to happen after a relocation finishes which cancels discard, tears down the block group, etc. Fix this fully by taking the lock arou ---truncated---
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
- 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.
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.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux, Linux Linux Kernel).
- Aplique a versão corrigida ou o patch documentado na seção Remediação.
- Procure nos logs disponíveis sinais de tentativa de exploração compatíveis com a classe da falha (erro de lógica), 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 |
versão 6.5≥ 6.4.12 e < 6.5≥ 6.1.47 e < 6.2versão 7569c4294ba6ff9f194635b14876198f8a687c4aversão 6297644db23f77c02ae7961cc542d162629ae2c4≥ 0657b20c5a76c938612f8409735a8830d257866e e < 2d8e5168d48a91e7a802d3003e72afb4304bebfa≥ 0657b20c5a76c938612f8409735a8830d257866e e < 9d383a6fc59271aaaf07a33b23b2eac5b9268b7a≥ 0657b20c5a76c938612f8409735a8830d257866e e < ee56da95f8962b86fec4ef93f866e64c8d025a58 e mais 1≥ 0657b20c5a76c938612f8409735a8830d257866e e < 77fd40b7ed0c3acf989a0f2a07b15a0a59ea8f96 |
Vulnerável | CVE Program (cve.org) e CISA ADP |
| Linux | Linux Kernel |
versão 6.5-rc7≥ 6.1.47 e < 6.2versão 6.5-rc6versão 6.5-rc5versão 6.5-rc4versão 6.5-rc3versão 6.5≥ 6.13 e < 6.14.2 e mais 2≥ 6.5.1 e < 6.12.40≥ 6.4.12 e < 6.5 |
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.
Todas as pontuações coletadas
As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.
| Nota | Versão | Severidade | Explor. | Impacto | Pontuado 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 |
| 4.7 | CVSS 3.1 | Média | 1.0 | 3.6 | nvd@nist.gov via NIST National Vulnerability Database |
| 4.7 | CVSS 3.1 | Média | — | — | GitHub, Inc. via GitHub Security Advisories |
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H (nota exibida no topo: nvd@nist.gov) Fraqueza MITRE
Classe de fraqueza segundo o catálogo CWE do MITRE.
EPSS ao longo do tempo FIRST
20/10/2026 → 26/10/2026 · 7 leitura(s) · máximo 0.18%
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.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Produtos afetados adicionados · linux/linux
- Ficha publicada
- Correção documentada
- Produtos afetados adicionados · linux/linux kernel
- CVSS alterado · 4.7
- Status na fonte alterado · → Modified
- Registro criado nesta base
- 2025
- CVE publicada
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
- git.kernel.org/stable/c/2d8e5168d48a91e7a802d3003e72afb4304bebfa
- git.kernel.org/stable/c/9d383a6fc59271aaaf07a33b23b2eac5b9268b7a
- git.kernel.org/stable/c/ee56da95f8962b86fec4ef93f866e64c8d025a58
- git.kernel.org/stable/c/77fd40b7ed0c3acf989a0f2a07b15a0a59ea8f96
- github.com/advisories/GHSA-h52v-87c4-f7qg
- nvd.nist.gov/vuln/detail/CVE-2025-22115
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Desconhecida CVE-2026-99092 riscv: patch: fix handling of bpf-jit execmem addresses 21 h
- Desconhecida CVE-2026-99093 mm: don't schedule deferred kernel page table freeing while booting 21 h
- Desconhecida CVE-2026-99095 drm/vc4: drain the hangcheck timer and works on V3D unbind 21 h
- Desconhecida CVE-2026-99096 io_uring/register: don't exempt disabled rings from task restrictions 21 h
- Desconhecida CVE-2026-99097 tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper() 21 h
- Desconhecida CVE-2026-99098 dm-integrity: fix buffer overflow in inline mode with large tag size 21 h
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-2025-22115 é "btrfs: fix block group refcount race in btrfs_create_pending_block_groups()", 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 4.7 descreve a severidade técnica. 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.