CVE-2024-39463

Source
https://cve.org/CVERecord?id=CVE-2024-39463
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-39463.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-39463
Downstream
Related
Published
2024-06-25T14:25:02.887Z
Modified
2026-03-14T12:34:43.352907Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
9p: add missing locking around taking dentry fid list
Details

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

9p: add missing locking around taking dentry fid list

Fix a use-after-free on dentry's d_fsdata fid list when a thread looks up a fid through dentry while another thread unlinks it:

UAF thread: refcountt: addition on 0; use-after-free. p9fidget linux/./include/net/9p/client.h:262 v9fsfidfind+0x236/0x280 linux/fs/9p/fid.c:129 v9fsfidlookupwithuid linux/fs/9p/fid.c:181 v9fsfidlookup+0xbf/0xc20 linux/fs/9p/fid.c:314 v9fsvfsgetattrdotl+0xf9/0x360 linux/fs/9p/vfsinodedotl.c:400 vfs_statx+0xdd/0x4d0 linux/fs/stat.c:248

Freed by: p9fiddestroy (inlined) p9clientclunk+0xb0/0xe0 linux/net/9p/client.c:1456 p9fidput linux/./include/net/9p/client.h:278 v9fsdentryrelease+0xb5/0x140 linux/fs/9p/vfsdentry.c:55 v9fsremove+0x38f/0x620 linux/fs/9p/vfsinode.c:518 vfsunlink+0x29a/0x810 linux/fs/namei.c:4335

The problem is that dfsdata was not accessed under dlock, because drelease() normally is only called once the dentry is otherwise no longer accessible but since we also call it explicitly in v9fsremove that lock is required: move the hlist out of the dentry under lock then unref its fids once they are no longer accessible.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/39xxx/CVE-2024-39463.json",
    "cna_assigner": "Linux"
}
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
154372e67d4053e56591245eb413686621941333
Fixed
3bb6763a8319170c2d41c4232c8e7e4c37dcacfb
Fixed
cb299cdba09f46f090b843d78ba26b667d50a456
Fixed
f0c5c944c6d8614c19e6e9a97fd2011dcd30e8f5
Fixed
fe17ebf22feb4ad7094d597526d558a49aac92b4
Fixed
c898afdc15645efb555acb6d85b484eb40a45409

Database specific

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