Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2024-46733 — kernel

🟡 CVSS 5.5 — Medium ✅ No Known Exploit NVD
5.5
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

btrfs: fix qgroup reserve leaks in cow_file_range

In the Linux kernel, the following vulnerability has been resolved:

btrfs: fix qgroup reserve leaks in cow_file_range

In the buffered write path, the dirty page owns the qgroup reserve until

it creates an ordered_extent.

Therefore, any errors that occur before the ordered_extent is created

must free that reservation, or else the space is leaked. The fstest

generic/475 exercises various IO error paths, and is able to trigger

errors in cow_file_range where we fail to get to allocating the ordered

extent. Note that because we *do* clear delalloc, we are likely to

remove the inode from the delalloc list, so the inodes/pages to not have

invalidate/launder called on them in the commit abort path.

This results in failures at the unmount stage of the test that look like:

BTRFS: error (device dm-8 state EA) in cleanup_transaction:2018: errno=-5 IO failure

BTRFS: error (device dm-8 state EA) in btrfs_replace_file_extents:2416: errno=-5 IO failure

BTRFS warning (device dm-8 state EA): qgroup 0/5 has unreleased space, type 0 rsv 28672

------------[ cut here ]------------

WARNING: CPU: 3 PID: 22588 at fs/btrfs/disk-io.c:4333 close_ctree+0x222/0x4d0 [btrfs]

Modules linked in: btrfs blake2b_generic libcrc32c xor zstd_compress raid6_pq

CPU: 3 PID: 22588 Comm: umount Kdump: loaded Tainted: G W 6.10.0-rc7-gab56fde445b8 #21

Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014

RIP: 0010:close_ctree+0x222/0x4d0 [btrfs]

RSP: 0018:ffffb4465283be00 EFLAGS: 00010202

RAX: 0000000000000001 RBX: ffffa1a1818e1000 RCX: 0000000000000001

RDX: 0000000000000000 RSI: ffffb4465283bbe0 RDI: ffffa1a19374fcb8

RBP: ffffa1a1818e13c0 R08: 0000000100028b16 R09: 0000000000000000

R10: 0000000000000003 R11: 0000000000000003 R12: ffffa1a18ad7972c

R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000

FS: 00007f9168312b80(0000) GS:ffffa1a4afcc0000(0000) knlGS:0000000000000000

CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

CR2: 00007f91683c9140 CR3: 000000010acaa000 CR4: 00000000000006f0

Call Trace:

<TASK>

? close_ctree+0x222/0x4d0 [btrfs]

? __warn.cold+0x8e/0xea

? close_ctree+0x222/0x4d0 [btrfs]

? report_bug+0xff/0x140

? handle_bug+0x3b/0x70

? exc_invalid_op+0x17/0x70

? asm_exc_invalid_op+0x1a/0x20

? close_ctree+0x222/0x4d0 [btrfs]

generic_shutdown_super+0x70/0x160

kill_anon_super+0x11/0x40

btrfs_kill_super+0x11/0x20 [btrfs]

deactivate_locked_super+0x2e/0xa0

cleanup_mnt+0xb5/0x150

task_work_run+0x57/0x80

syscall_exit_to_user_mode+0x121/0x130

do_syscall_64+0xab/0x1a0

entry_SYSCALL_64_after_hwframe+0x77/0x7f

RIP: 0033:0x7f916847a887

---[ end trace 0000000000000000 ]---

BTRFS error (device dm-8 state EA): qgroup reserved space leaked

Cases 2 and 3 in the out_reserve path both pertain to this type of leak

and must free the reserved qgroup data. Because it is already an error

path, I opted not to handle the possible errors in

btrfs_free_qgroup_data.

How this vulnerability can be exploited

This issue can be reached with local access to the system, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

  • Attack vector: Local — a local account, shell or session on the host is needed.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: Low — an ordinary user account is enough.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: None.
  • Integrity impact: None.
  • Availability impact: High — total loss, or loss the attacker controls.

Affected software

CVE-2024-46733 is recorded against 2 packages.

  • kernel (from 6.7.0 up to 6.10.9)
  • linux-kernel

Timeline and source

Published on 18 September 2024 and last revised on 12 August 2026. No public exploit is currently recorded for this entry. A vendor advisory or fix has been published. Record sourced from NVD.

References

git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
lists.debian.org (Web)
github.com (Advisory)
nvd.nist.gov (Advisory)
git.kernel.org (Package)

Other advisories for this package

kernel has other advisories on record. If you are patching this one, these are worth checking on the same host:

Details

Severity Medium
CVSS Score 5.5
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE N/A
Public Exploit ✅ No
Source NVD
Published 2024-09-18
Updated 2026-08-20
Modified 2026-08-12

Affected Packages

Software From version Fixed in
kernel 6.7.0 6.10.9
linux-kernel — —

Similar Threats

Vulnerability Monitoring

Track new vulnerabilities in kernel

CVE-2024-46733 is rated CVSS 5.5 Medium. BotEraser monitors your WordPress installation and notifies you when software you use appears in our vulnerability database.

Set Up Free Alerts →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2024
✓