CVE-2026-74351

Source
https://cve.org/CVERecord?id=CVE-2026-74351
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74351.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-74351
Downstream
Published
2026-08-15T05:58:37.967Z
Modified
2026-08-18T03:30:58.976344233Z
Summary
ocfs2: rebase copied fsdlm LVB pointers in locking_state
Details

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

ocfs2: rebase copied fsdlm LVB pointers in locking_state

The lockingstate debugfs iterator snapshots struct ocfs2lockres by value under ocfs2dlmtrackinglock and later formats that copy in ocfs2dlmseqshow(). That is fine for the inline fields, but the userspace fsdlm stack stores the LVB through lksbfsdlm.sblvbptr. Once the iterator drops the tracking lock, a copied non-NULL sblvbptr still points into the original lockres owner, so teardown can free that container before the debugfs dump walks the raw LVB bytes.

Rebase the copied sblvbptr to the copied llksb before dumping the raw LVB. The seq snapshot already carries the inline LVB storage reserved in struct ocfs2dlmlksb, so the debugfs reader can dump the copied bytes without borrowing the original lockres lifetime.

The buggy scenario involves two paths, with each column showing the order within that path:

lockingstate reader: lockres teardown: 1. ocfs2dlmseqstart()/next() 1. file release or another owner copies struct ocfs2lockres teardown reaches 2. ocfs2dlmseqshow() formats ocfs2lockresfree() the copied row 2. the lockres is removed from the 3. ocfs2dlmlvb() follows the tracking list copied sb_lvbptr 3. the owner frees the original lockres container

Validation reproduced this kernel report: KASAN slab-use-after-free in ocfs2dlmseqshow+0x1bd/0x430 RIP: 0033:0x7f8ec4b1e29d The buggy address belongs to the object at ffff88810a1e0800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 368 bytes inside of freed 1024-byte region [ffff88810a1e0800, ffff88810a1e0c00) Read of size 1 Call trace: dumpstacklvl+0x66/0xa0 printreport+0xce/0x630 ocfs2dlmseqshow+0x1bd/0x430 (fs/ocfs2/dlmglue.c:3137) srsoaliasreturnthunk+0x5/0xfbef5 __virtaddrvalid+0x19f/0x330 kasanreport+0xe0/0x110 seqreaditer+0x29d/0x790 seqread+0x20a/0x280 findheldlock+0x2b/0x80 rcureadunlock+0x18/0x70 fullproxyread+0x9e/0xd0 vfsread+0x12c/0x590 ksysread+0xd2/0x170 douseraddrfault+0x65a/0x890 dosyscall64+0x115/0x6a0 (arch/x86/entry/syscall64.c:87) entrySYSCALL64afterhwframe+0x77/0x7f Allocated by task stack: kasansavestack+0x33/0x60 kasansavetrack+0x14/0x30 __kasankmalloc+0xaa/0xb0 ocfs2fileopen+0x13e/0x300 dodentryopen+0x233/0x7f0 vfsopen+0x5a/0x1b0 pathopenat+0x66d/0x1540 dofileopen+0x186/0x2b0 dosys_openat2+0xce/0x150 __x64sysopenat+0xd0/0x140 dosyscall64+0x115/0x6a0 (arch/x86/entry/syscall64.c:87) entrySYSCALL64afterhwframe+0x77/0x7f Freed by task stack: kasansavestack+0x33/0x60 kasansavetrack+0x14/0x30 kasansavefreeinfo+0x3b/0x60 __kasanslabfree+0x5f/0x80 kfree+0x313/0x590 ocfs2filerelease+0x138/0x260 __fput+0x1df/0x4b0 fputclosesync+0xd2/0x170 _x64sysclose+0x55/0x90 dosyscall64+0x115/0x6a0 (arch/x86/entry/syscall64.c:87) entrySYSCALL64afterhwframe+0x77/0x7f

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74351.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
cf4d8d75d8aba537a19b313a9364fd08ddbd5622
Fixed
185427b5f7a209254c85c18aad5a4a8e009b2f30
Fixed
07aa4a8ebacde3d0ba50f60d2964f274ee7629bc
Fixed
e037c1250cc90e7aacb002357d1b0399fc65ecfc
Fixed
6b38a5b8ee951e5b244e9a3c3d28d0f5e7c51411
Fixed
8614a8f7e81edd34c9f67e454e7024fd12a2a341
Fixed
bb44a7690a4d553da705919cf666a80f5ca9011c
Fixed
610a0d2a35496738e1472fb0f318d5008a1c634f
Fixed
93612d48fa42b3d1a637eb9279e15281c611c000

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74351.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.26
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.97
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74351.json"