CVE-2026-31597
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
24/04/2026
Last modified:
29/04/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY<br />
<br />
filemap_fault() may drop the mmap_lock before returning VM_FAULT_RETRY,<br />
as documented in mm/filemap.c:<br />
<br />
"If our return value has VM_FAULT_RETRY set, it&#39;s because the mmap_lock<br />
may be dropped before doing I/O or by lock_folio_maybe_drop_mmap()."<br />
<br />
When this happens, a concurrent munmap() can call remove_vma() and free<br />
the vm_area_struct via RCU. The saved &#39;vma&#39; pointer in ocfs2_fault() then<br />
becomes a dangling pointer, and the subsequent trace_ocfs2_fault() call<br />
dereferences it -- a use-after-free.<br />
<br />
Fix this by saving ip_blkno as a plain integer before calling<br />
filemap_fault(), and removing vma from the trace event. Since<br />
ip_blkno is copied by value before the lock can be dropped, it<br />
remains valid regardless of what happens to the vma or inode<br />
afterward.
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.39 (including) | 6.6.136 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.83 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.18.24 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 6.19.14 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 7.0 (including) | 7.0.1 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/4cf2768a0291a0cdd0dae801ea0eafa3878a349d
- https://git.kernel.org/stable/c/6f072daefcab1d84ce37c073645615f63be91006
- https://git.kernel.org/stable/c/76a602fdbb78dd05b2da06f74a988cebc97e82d0
- https://git.kernel.org/stable/c/7de554cabf160e331e4442e2a9ad874ca9875921
- https://git.kernel.org/stable/c/925bf22c1b823e231b1baea761fe8a1512e442f2
- https://git.kernel.org/stable/c/d45ff441b416d4aa1af72b1db23d959601c04da2



