nfsd: release path refs on follow_down() error (Linux Linux)

CVE-2026-89707
HIGH 7.5

At a glance

Source
NVD
EPSS
EPSS 0.70 % · percentile 53 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Received

Description

In the Linux kernel, the following vulnerability has been resolved: nfsd: release path refs on follow_down() error nfsd_cross_mnt() initializes a local struct path with mntget() and dget() before calling follow_down(). On a negative return the error arm jumps to out without releasing those references: err = follow_down(&path, follow_flags); if (err < 0) goto out; follow_down() never drops the caller's entry-time refs on any error sub-case; for example a pre-cross d_manage() failure leaves path untouched, so the mntget()/dget() taken on entry survive the call. Every other early-exit arm in nfsd_cross_mnt() (other-namespace return, IS_ERR(exp2), and the success tail after the swap) already calls path_put(&path); the err < 0 arm is the lone omission. The leak inflates mnt_count and d_count on each failed cross-mount, blocking umount and pinning dentries against the shrinker, and is reachable by any authenticated NFS client through nfsd_lookup_dentry or the NFSv4 READDIR encode path. Fix by calling path_put(&path) before the goto out in the err < 0 arm so the entry-time refs are released on all follow_down() error returns.

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected cc53ce53c86924bfe98a12ea20b7465038a08792 < bdf5a0f88d21239d8f9f7519b87359ba95fd045c ; affected cc53ce53c86924bfe98a12ea20b7465038a08792 < 18847cbf5900f5c6c55bef5a6f7a34a1918d1181 ; affected cc53ce53c86924bfe98a12ea20b7465038a08792 < e301c5cdb0dc2c4aeffc0c055ea15615d9c51fdc ; affected cc53ce53c86924bfe98a12ea20b7465038a08792 < 085cfde7c2186acaad103f02d2c25435ad5224e9 ; affected cc53ce53c86924bfe98a12ea20b7465038a08792 < 194316df81263519156ebe714c4a286bee00e5be ; affected cc53ce53c86924bfe98a12ea20b7465038a08792 < 467d56fd3ff57447a790c6dc3ede2d02a947d224
Linux · Linuxaffected 2.6.38 ; unaffected 0 < 2.6.38 ; unaffected 5.10.273 ≤ 5.10.* ; unaffected 5.15.224 ≤ 5.15.* ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.157 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD