CVE-2026-31597: Linux kernel · ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 7.8 High.
Data as of 12 Nov 2026, 03:32 UTC
Thin evidence
One scorer or none| CNA (Linux) | CVSS 3.1 | 7.8 |
|---|
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 24 Apr 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 11 Nov 2026.
What to do
AI-suggested
A fix has been implemented in the Linux kernel to address this vulnerability by changing how ocfs2_fault() handles pointers when VM_FAULT_RETRY is returned. Users should update to the fixed kernel version once available. Since no specific patch links or fixed versions are provided, check the official Linux kernel advisories for the relevant patch and apply it promptly.
Description
A use-after-free vulnerability in the Linux kernel's ocfs2 filesystem was fixed. The flaw occurs in the ocfs2_fault() function when filemap_fault() returns VM_FAULT_RETRY, potentially causing a concurrent munmap() to free a vm_area_struct that ocfs2_fault() still references. This leads to a dangling pointer dereference. The fix involves avoiding use of the freed pointer by saving necessary data before the lock is dropped.
References
- git.kernel.org/stable/c/36539c4d536f851a3b346a6ebb27b51bc3d77a94 (opens in a new tab)
- git.kernel.org/stable/c/35c2c05261d6f6d84aaa1355afa201d507943e76 (opens in a new tab)
- git.kernel.org/stable/c/3f5e74b5db9353b01ed50f4de84e75b755f8fbc2 (opens in a new tab)
- git.kernel.org/stable/c/6f072daefcab1d84ce37c073645615f63be91006 (opens in a new tab)
- git.kernel.org/stable/c/4cf2768a0291a0cdd0dae801ea0eafa3878a349d (opens in a new tab)
- git.kernel.org/stable/c/d45ff441b416d4aa1af72b1db23d959601c04da2 (opens in a new tab)
- git.kernel.org/stable/c/76a602fdbb78dd05b2da06f74a988cebc97e82d0 (opens in a new tab)
- git.kernel.org/stable/c/925bf22c1b823e231b1baea761fe8a1512e442f2 (opens in a new tab)
- git.kernel.org/stable/c/7de554cabf160e331e4442e2a9ad874ca9875921 (opens in a new tab)