CVE-2024-50265

ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()

MEDIUM
5.5
CVSS Score
Published: November 19, 2024 at 01:30 AM UTC
Updated: June 17, 2026 at 08:04 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.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove() Syzkaller is able to provoke null-ptr-dereference in ocfs2_xa_remove(): [ 57.319872] (a.out,1161,7):ocfs2_xa_remove:2028 ERROR: status = -12 [ 57.320420] (a.out,1161,7):ocfs2_xa_cleanup_value_truncate:1999 ERROR: Partial truncate while removing xattr overlay.upper. Leaking 1 clusters and removing the entry [ 57.321727] BUG: kernel NULL pointer dereference, address: 0000000000000004 [...] [ 57.325727] RIP: 0010:ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [...] [ 57.331328] Call Trace: [ 57.331477] <TASK> [...] [ 57.333511] ? do_user_addr_fault+0x3e5/0x740 [ 57.333778] ? exc_page_fault+0x70/0x170 [ 57.334016] ? asm_exc_page_fault+0x2b/0x30 [ 57.334263] ? __pfx_ocfs2_xa_block_wipe_namevalue+0x10/0x10 [ 57.334596] ? ocfs2_xa_block_wipe_namevalue+0x2a/0xc0 [ 57.334913] ocfs2_xa_remove_entry+0x23/0xc0 [ 57.335164] ocfs2_xa_set+0x704/0xcf0 [ 57.335381] ? _raw_spin_unlock+0x1a/0x40 [ 57.335620] ? ocfs2_inode_cache_unlock+0x16/0x20 [ 57.335915] ? trace_preempt_on+0x1e/0x70 [ 57.336153] ? start_this_handle+0x16c/0x500 [ 57.336410] ? preempt_count_sub+0x50/0x80 [ 57.336656] ? _raw_read_unlock+0x20/0x40 [ 57.336906] ? start_this_handle+0x16c/0x500 [ 57.337162] ocfs2_xattr_block_set+0xa6/0x1e0 [ 57.337424] __ocfs2_xattr_set_handle+0x1fd/0x5d0 [ 57.337706] ? ocfs2_start_trans+0x13d/0x290 [ 57.337971] ocfs2_xattr_set+0xb13/0xfb0 [ 57.338207] ? dput+0x46/0x1c0 [ 57.338393] ocfs2_xattr_trusted_set+0x28/0x30 [ 57.338665] ? ocfs2_xattr_trusted_set+0x28/0x30 [ 57.338948] __vfs_removexattr+0x92/0xc0 [ 57.339182] __vfs_removexattr_locked+0xd5/0x190 [ 57.339456] ? preempt_count_sub+0x50/0x80 [ 57.339705] vfs_removexattr+0x5f/0x100 [...] Reproducer uses faultinject facility to fail ocfs2_xa_remove() -> ocfs2_xa_value_truncate() with -ENOMEM. In this case the comment mentions that we can return 0 if ocfs2_xa_cleanup_value_truncate() is going to wipe the entry anyway. But the following 'rc' check is wrong and execution flow do 'ocfs2_xa_remove_entry(loc);' twice: * 1st: in ocfs2_xa_cleanup_value_truncate(); * 2nd: returning back to ocfs2_xa_remove() instead of going to 'out'. Fix this by skipping the 2nd removal of the same entry and making syzkaller repro happy.

Affected

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

2.6.34 ≤ v < 4.19.3242.6.34 ≤ v < 5.10.2302.6.34 ≤ v < 5.15.1722.6.34 ≤ v < 5.4.2862.6.34 ≤ v < 6.1.1172.6.34 ≤ v < 6.11.82.6.34 ≤ v < 6.122.6.34 ≤ v < 6.6.614.20 ≤ v < 5.4.2865.11 ≤ v < 5.15.1725.16 ≤ v < 6.1.1175.5 ≤ v < 5.10.2306.2 ≤ v < 6.6.616.7 ≤ v < 6.11.8399ff3a748cf4c8c853e96dd477153202636527b6.12 rc16.12 rc26.12 rc36.12 rc46.12 rc56.12 rc6
Vendor states this is fixed in 0b63c0e01fba40e3992bc627272ec7b618ccaef7 (fixed)
Vendor states this is fixed in 168a9b8303fcb0317db4c06b23ce1c0ce2af4e10 (fixed)
Vendor states this is fixed in 2b5369528ee63c88371816178a05b5e664c87386 (fixed)
Vendor states this is fixed in 38cbf13b2e7a31362babe411f7c2c3c52cd2734b (fixed)
Vendor states this is fixed in 6a7e6dcf90fe7721d0863067b6ca9a9442134692 (fixed)
Vendor states this is fixed in 86dd0e8d42828923c68ad506933336bcd6f2317d (fixed)
Vendor states this is fixed in dcc8fe8c83145041cb6c80cac21f6173a3ff0204 (fixed)
Vendor states this is fixed in dd73c942eed76a014c7a5597e6926435274d2c4c (fixed)
Vendor states this is fixed in 2.6.34 (unaffected)
Vendor states this is fixed in 4.19.324 (unaffected)
Vendor states this is fixed in 5.10.230 (unaffected)
Vendor states this is fixed in 5.15.172 (unaffected)
Vendor states this is fixed in 5.4.286 (unaffected)
Vendor states this is fixed in 6.1.117 (unaffected)
Vendor states this is fixed in 6.11.8 (unaffected)
Vendor states this is fixed in 6.12 (unaffected)
Vendor states this is fixed in 6.6.61 (unaffected)

References (10)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0b63c0e01fba40e3992bc627272ec7b618ccaef7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/168a9b8303fcb0317db4c06b23ce1c0ce2af4e10
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2b5369528ee63c88371816178a05b5e664c87386
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/38cbf13b2e7a31362babe411f7c2c3c52cd2734b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6a7e6dcf90fe7721d0863067b6ca9a9442134692
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/86dd0e8d42828923c68ad506933336bcd6f2317d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/dcc8fe8c83145041cb6c80cac21f6173a3ff0204
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/dd73c942eed76a014c7a5597e6926435274d2c4c

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
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

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