CVE-2024-53155

ocfs2: fix uninitialized value in ocfs2_file_read_iter()

State
Published
Severity
7.1 High
Published
Dec 24, 2024
Updated
May 11, 2026
Reserved
Nov 19, 2024

Read the record on cve.org

Description

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

ocfs2: fix uninitialized value in ocfs2_file_read_iter()

Syzbot has reported the following KMSAN splat:

BUG: KMSAN: uninit-value in ocfs2_file_read_iter+0x9a4/0xf80 ocfs2_file_read_iter+0x9a4/0xf80 __io_read+0x8d4/0x20f0 io_read+0x3e/0xf0 io_issue_sqe+0x42b/0x22c0 io_wq_submit_work+0xaf9/0xdc0 io_worker_handle_work+0xd13/0x2110 io_wq_worker+0x447/0x1410 ret_from_fork+0x6f/0x90 ret_from_fork_asm+0x1a/0x30

Uninit was created at: __alloc_pages_noprof+0x9a7/0xe00 alloc_pages_mpol_noprof+0x299/0x990 alloc_pages_noprof+0x1bf/0x1e0 allocate_slab+0x33a/0x1250 ___slab_alloc+0x12ef/0x35e0 kmem_cache_alloc_bulk_noprof+0x486/0x1330 __io_alloc_req_refill+0x84/0x560 io_submit_sqes+0x172f/0x2f30 __se_sys_io_uring_enter+0x406/0x41c0 __x64_sys_io_uring_enter+0x11f/0x1a0 x64_sys_call+0x2b54/0x3ba0 do_syscall_64+0xcd/0x1e0 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Since an instance of 'struct kiocb' may be passed from the block layer with 'private' field uninitialized, introduce 'ocfs2_iocb_init_rw_locked()' and use it from where 'ocfs2_dio_end_io()' might take care, i.e. in 'ocfs2_file_read_iter()' and 'ocfs2_file_write_iter()'.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HCISA-ADP

Weaknesses

  • CWE-908 Use of Uninitialized Resource

Affected Products

ProductVersions
LinuxLinux
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before 6c8f8d1e595dabd5389817f6d798cc8bd95c40abAffected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before f4078ef38d3163e6be47403a619558b19c4bfccdAffected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before 66b7ddd1804e2c4216dd7ead8eeb746cdbb3b62fAffected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before 8c966150d5abff58c3c2bdb9a6e63fd773782905Affected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before 83f8713a0ef1d55d6a287bcfadcaab8245ac5098Affected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before 8e0de82ed18ba0e71f817adbd81317fd1032ca5aAffected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before 366c933c2ab34dd6551acc03b4872726b7605143Affected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before dc78efe556fed162d48736ef24066f42e463e27cAffected
  • 7cdfc3a1c3971c9125c317cb8c2525745851798e to before adc77b19f62d7e80f98400b2fca9d700d2afdd6fAffected
LinuxLinux
  • 2.6.22Affected
  • before 2.6.22Not affected
  • 4.19.325 through 4.19.*Not affected
  • 5.4.287 through 5.4.*Not affected
  • 5.10.231 through 5.10.*Not affected
  • 5.15.174 through 5.15.*Not affected
  • 6.1.120 through 6.1.*Not affected
  • 6.6.64 through 6.6.*Not affected
  • 6.11.11 through 6.11.*Not affected
  • 6.12.2 through 6.12.*Not affected
  • 6.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.