CVE-2024-39276

ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()

MEDIUM
5.5
CVSS Score
Published: June 25, 2024 at 02:22 PM UTC
Updated: June 17, 2026 at 07:41 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find() Syzbot reports a warning as follows: ============================================ WARNING: CPU: 0 PID: 5075 at fs/mbcache.c:419 mb_cache_destroy+0x224/0x290 Modules linked in: CPU: 0 PID: 5075 Comm: syz-executor199 Not tainted 6.9.0-rc6-gb947cc5bf6d7 RIP: 0010:mb_cache_destroy+0x224/0x290 fs/mbcache.c:419 Call Trace: <TASK> ext4_put_super+0x6d4/0xcd0 fs/ext4/super.c:1375 generic_shutdown_super+0x136/0x2d0 fs/super.c:641 kill_block_super+0x44/0x90 fs/super.c:1675 ext4_kill_sb+0x68/0xa0 fs/ext4/super.c:7327 [...] ============================================ This is because when finding an entry in ext4_xattr_block_cache_find(), if ext4_sb_bread() returns -ENOMEM, the ce's e_refcnt, which has already grown in the __entry_find(), won't be put away, and eventually trigger the above issue in mb_cache_destroy() due to reference count leakage. So call mb_cache_entry_put() on the -ENOMEM error branch as a quick fix.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 4.14.92v ≥ 4.20.14.14.92 ≤ v < 4.154.19.14 ≤ v < 4.19.3164.20.1 ≤ v ≤ 5.4.2784.20.1 ≤ v < 4.215.0 ≤ v < 5.10.2195.0 ≤ v < 5.15.1615.0 ≤ v < 5.4.2785.0 ≤ v < 6.1.945.0 ≤ v < 6.105.0 ≤ v < 6.6.345.0 ≤ v < 6.9.55.16 ≤ v ≤ 6.1.945.5 ≤ v ≤ 5.15.1616.2 ≤ v ≤ 6.6.346.7 ≤ v ≤ 6.9.54.14.924.19.144.20.15.081313ed2c705d958744882a269bf4a5e3ddec95e9da1f6d06b7a6d068e68fcfd7cbbf6b586d888e1b878c8a7f08f0c225b6a46ba1ac867e9c5d17807fb265c9cb49e2074ddcdd4de99728aefdd3b3592
Vendor states this is fixed in 0c0b4a49d3e7f49690a6827a41faeffad5df7e21 (fixed)
Vendor states this is fixed in 681ff9a09accd8a4379f8bd30b7a1641ee19bb3e (fixed)
Vendor states this is fixed in 76dc776153a47372719d664e0fc50d6355791abb (fixed)
Vendor states this is fixed in 896a7e7d0d555ad8b2b46af0c2fa7de7467f9483 (fixed)
Vendor states this is fixed in 9ad75e78747b5a50dc5a52f0f8e92e920a653f16 (fixed)
Vendor states this is fixed in a95df6f04f2c37291adf26a74205cde0314d4577 (fixed)
Vendor states this is fixed in b37c0edef4e66fb21a2fbc211471195a383e5ab8 (fixed)
Vendor states this is fixed in e941b712e758f615d311946bf98216e79145ccd9 (fixed)
Affected range stops below 4.15, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.19.316 (unaffected)
Affected range stops below 4.21, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.0 (unaffected)
Vendor states this is fixed in 5.10.219 (unaffected)
Vendor states this is fixed in 5.15.161 (unaffected)
Vendor states this is fixed in 5.4.278 (unaffected)
Vendor states this is fixed in 6.1.94 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.34 (unaffected)
Vendor states this is fixed in 6.9.5 (unaffected)

References (8)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0c0b4a49d3e7f49690a6827a41faeffad5df7e21
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/681ff9a09accd8a4379f8bd30b7a1641ee19bb3e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/76dc776153a47372719d664e0fc50d6355791abb
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/896a7e7d0d555ad8b2b46af0c2fa7de7467f9483
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9ad75e78747b5a50dc5a52f0f8e92e920a653f16
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a95df6f04f2c37291adf26a74205cde0314d4577
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b37c0edef4e66fb21a2fbc211471195a383e5ab8
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e941b712e758f615d311946bf98216e79145ccd9

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

5.5MEDIUMCISA-ADP
Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
NONE
Availability
NONE
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-Other

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card