configfs_lookup(): don't leave ->s_dentry dangling on failure
Summary
| CVE | CVE-2026-74359 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-15 06:22:37 UTC |
| Updated | 2026-08-15 06:22:37 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
configfs_lookup(): don't leave ->s_dentry dangling on failure
Normally ->s_dentry is cleared when dentry it's pointing to becomes
negative (on eviction, realistically). However, that only happens
if dentry gets to be positive in the first place; in case of inode
allocation failure dentry never becomes positive, so ->d_iput()
is not called at all.
We do part of what normally would've been done by configfs_d_iput()
(dropping the reference to configfs_dirent) manually, but we do
not clear ->s_dentry there. Sloppy as it is, it does not matter in
case of configfs_create_{dir,link}() - there configfs_dirent does
not survive dropping the sole reference to it.
However, for configfs_lookup() it *does* survive, with a dangling
pointer to soon to be freed dentry sitting it its ->s_dentry.
Subsequent getdents(2) in that directory will end up dereferencing
that pointer in order to pick the inode number. Use after free...
This is the minimal fix; the right approach is to set the linkage
between dentry and configfs_dirent only after we know that we have
an inode, but that takes more surgery and the bug had been there
since 2006, so... |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d 3e83b2203aa59bd279e4f677ec793d49dc9d019e git |
Not specified |
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d b6e9c82522ddaa3ac0706b295ff4a71975d4f883 git |
Not specified |
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d eee07d769da5ac4e4f7bd0bc17828646a318d499 git |
Not specified |
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d 9c747dcee164ead300de90550ad9e4122f0d1bbb git |
Not specified |
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d c3b073a209a9baa691b744318ac929fecdd8847c git |
Not specified |
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d 57088b06109f3222963c639d8d743f42c2899b13 git |
Not specified |
| CNA |
Linux |
Linux |
affected 3d0f89bb169482d26d5aa4e82e763077e7e9bc4d 10da12d352b7b2bb330a8609fdda9a58bf0e9856 git |
Not specified |
| CNA |
Linux |
Linux |
affected 2.6.16 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 2.6.16 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.15.212 5.15.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.1.178 6.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.145 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.97 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.40 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.1.5 7.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/eee07d769da5ac4e4f7bd0bc17828646a318d499 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/57088b06109f3222963c639d8d743f42c2899b13 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/3e83b2203aa59bd279e4f677ec793d49dc9d019e |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/9c747dcee164ead300de90550ad9e4122f0d1bbb |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/10da12d352b7b2bb330a8609fdda9a58bf0e9856 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/c3b073a209a9baa691b744318ac929fecdd8847c |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/b6e9c82522ddaa3ac0706b295ff4a71975d4f883 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.