LiveActive security incident?Get immediate response
CVE Record

CVE-2023-54032: btrfs: fix race when deleting quota root from the dirty cow roots list

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix race when deleting quota root from the dirty cow roots list When disabling quotas we are deleting the quota root from the list fs_info->dirty_cowonly_roots without taking the lock that protects it, which is struct btrfs_fs_info::trans_lock. This unsynchronized list manipulation may cause chaos if there's another concurrent manipulation of this list, such as when adding a root to it with ctree.c:add_root_to_dirty_list(). This can result in all sorts of weird failures caused by a race, such as the following crash: [337571.278245] general protection fault, probably for non-canonical address 0xdead000000000108: 0000 [#1] PREEMPT SMP PTI [337571.278933] CPU: 1 PID: 115447 Comm: btrfs Tainted: G W 6.4.0-rc6-btrfs-next-134+ #1 [337571.279153] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 [337571.279572] RIP: 0010:commit_cowonly_roots+0x11f/0x250 [btrfs] [337571.279928] Code: 85 38 06 00 (...) [337571.280363] RSP: 0018:ffff9f63446efba0 EFLAGS: 00010206 [337571.280582] RAX: ffff942d98ec2638 RBX: ffff9430b82b4c30 RCX: 0000000449e1c000 [337571.280798] RDX: dead000000000100 RSI: ffff9430021e4900 RDI: 0000000000036070 [337571.281015] RBP: ffff942d98ec2000 R08: ffff942d98ec2000 R09: 000000000000015b [337571.281254] R10: 0000000000000009 R11: 0000000000000001 R12: ffff942fe8fbf600 [337571.281476] R13: ffff942dabe23040 R14: ffff942dabe20800 R15: ffff942d92cf3b48 [337571.281723] FS: 00007f478adb7340(0000) GS:ffff94349fa40000(0000) knlGS:0000000000000000 [337571.281950] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [337571.282184] CR2: 00007f478ab9a3d5 CR3: 000000001e02c001 CR4: 0000000000370ee0 [337571.282416] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [337571.282647] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [337571.282874] Call Trace: [337571.283101] <TASK> [337571.283327] ? __die_body+0x1b/0x60 [337571.283570] ? die_addr+0x39/0x60 [337571.283796] ? exc_general_protection+0x22e/0x430 [337571.284022] ? asm_exc_general_protection+0x22/0x30 [337571.284251] ? commit_cowonly_roots+0x11f/0x250 [btrfs] [337571.284531] btrfs_commit_transaction+0x42e/0xf90 [btrfs] [337571.284803] ? _raw_spin_unlock+0x15/0x30 [337571.285031] ? release_extent_buffer+0x103/0x130 [btrfs] [337571.285305] reset_balance_state+0x152/0x1b0 [btrfs] [337571.285578] btrfs_balance+0xa50/0x11e0 [btrfs] [337571.285864] ? __kmem_cache_alloc_node+0x14a/0x410 [337571.286086] btrfs_ioctl+0x249a/0x3320 [btrfs] [337571.286358] ? mod_objcg_state+0xd2/0x360 [337571.286577] ? refill_obj_stock+0xb0/0x160 [337571.286798] ? seq_release+0x25/0x30 [337571.287016] ? __rseq_handle_notify_resume+0x3ba/0x4b0 [337571.287235] ? percpu_counter_add_batch+0x2e/0xa0 [337571.287455] ? __x64_sys_ioctl+0x88/0xc0 [337571.287675] __x64_sys_ioctl+0x88/0xc0 [337571.287901] do_syscall_64+0x38/0x90 [337571.288126] entry_SYSCALL_64_after_hwframe+0x72/0xdc [337571.288352] RIP: 0033:0x7f478aaffe9b So fix this by locking struct btrfs_fs_info::trans_lock before deleting the quota root from that list.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2023-54032 is a Linux kernel btrfs bug that can corrupt internal filesystem bookkeeping during quota disable operations. The source describes crashes from a race condition, not confirmed data theft or remote compromise. Business urgency depends on whether production systems use btrfs and quotas.

Executive priority

Treat this as a targeted reliability and availability issue for btrfs-based Linux systems. It is not currently evidenced as internet-exploited, but kernel crashes on storage infrastructure can still affect service availability.

Technical view

The bug is an unsynchronized deletion of the btrfs quota root from fs_info->dirty_cowonly_roots without holding btrfs_fs_info::trans_lock. Concurrent list manipulation, such as adding roots to the dirty list, can cause kernel faults during btrfs transaction handling. The upstream fix adds the missing lock.

Likely exposure

Exposure appears limited to Linux systems using btrfs, especially where btrfs quotas are enabled or disabled. The bundle lists Linux kernel versions from 3.6 through 6.5 as affected, but distribution backport status must be verified separately.

Exploitation context

The source shows a crash scenario and race condition, but does not claim public exploitation, privilege escalation, or remote attackability. CISA KEV status is false in the bundle, so active exploitation should not be assumed.

Researcher notes

Evidence is strongest for root cause and fix direction, because the CVE text includes the failing lock discipline and crash trace. Evidence is incomplete for CVSS, attacker requirements, exploitability, and distribution-specific fixed versions. Validate through vendor kernel changelogs, not mainline version numbers alone.

Mitigation direction

  • Apply vendor kernel updates that include the referenced btrfs stable fixes.
  • Prioritize systems using btrfs quotas or operational btrfs maintenance workflows.
  • If patching is delayed, check Linux distribution guidance for supported mitigations.
  • Avoid making unsupported kernel or filesystem behavior changes without vendor confirmation.

Validation and detection

  • Inventory Linux hosts using btrfs filesystems.
  • Identify systems with btrfs quota functionality enabled or recently used.
  • Check installed kernels against vendor advisories and included stable commits.
  • Review kernel logs for btrfs transaction crashes or general protection faults.
  • Confirm patched kernels are deployed through standard fleet compliance reporting.
Prepared
Confidence
medium
Sources
10

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2023-54032 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
9Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxbed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27, bed92eae26ccf280d1a2168b7509447b56675a27unaffected
LinuxLinux3.6, 0, 4.14.322, 4.19.291, 5.4.251, 5.10.188, 5.15.121, 6.1.39, 6.4.4, 6.5affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.