{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-31403","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-03-09T15:48:24.086Z","datePublished":"2026-04-03T15:16:06.444Z","dateUpdated":"2026-05-11T22:08:01.908Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T22:08:01.908Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nNFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd\n\nThe /proc/fs/nfs/exports proc entry is created at module init\nand persists for the module's lifetime. exports_proc_open()\ncaptures the caller's current network namespace and stores\nits svc_export_cache in seq->private, but takes no reference\non the namespace. If the namespace is subsequently torn down\n(e.g. container destruction after the opener does setns() to a\ndifferent namespace), nfsd_net_exit() calls nfsd_export_shutdown()\nwhich frees the cache. Subsequent reads on the still-open fd\ndereference the freed cache_detail, walking a freed hash table.\n\nHold a reference on the struct net for the lifetime of the open\nfile descriptor. This prevents nfsd_net_exit() from running --\nand thus prevents nfsd_export_shutdown() from freeing the cache\n-- while any exports fd is open. cache_detail already stores\nits net pointer (cd->net, set by cache_create_net()), so\nexports_release() can retrieve it without additional per-file\nstorage."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"}}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/nfsd/nfsctl.c"],"versions":[{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"76740c28050dc6db2f5550f1325b00a11bbb3255","status":"affected","versionType":"git"},{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"c7f406fb341d6747634b8b1fa5461656e5e56076","status":"affected","versionType":"git"},{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"d1a19217995df9c7e4118f5a2820c5032fef2945","status":"affected","versionType":"git"},{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"e3d77f935639e6ae4b381c80464c31df998d61f4","status":"affected","versionType":"git"},{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"db4a9f99b12a7ee1c19d86c83a3b752c7effa6c6","status":"affected","versionType":"git"},{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"6a8d70e2ad6aad2c345a5048edcb8168036f97d6","status":"affected","versionType":"git"},{"version":"96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5","lessThan":"e7fcf179b82d3a3730fd8615da01b087cc654d0b","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/nfsd/nfsctl.c"],"versions":[{"version":"3.9","status":"affected"},{"version":"0","lessThan":"3.9","status":"unaffected","versionType":"semver"},{"version":"5.10.253","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"6.1.167","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.130","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.78","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.20","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"6.19.10","lessThanOrEqual":"6.19.*","status":"unaffected","versionType":"semver"},{"version":"7.0","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.18.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.19.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"7.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/76740c28050dc6db2f5550f1325b00a11bbb3255"},{"url":"https://git.kernel.org/stable/c/c7f406fb341d6747634b8b1fa5461656e5e56076"},{"url":"https://git.kernel.org/stable/c/d1a19217995df9c7e4118f5a2820c5032fef2945"},{"url":"https://git.kernel.org/stable/c/e3d77f935639e6ae4b381c80464c31df998d61f4"},{"url":"https://git.kernel.org/stable/c/db4a9f99b12a7ee1c19d86c83a3b752c7effa6c6"},{"url":"https://git.kernel.org/stable/c/6a8d70e2ad6aad2c345a5048edcb8168036f97d6"},{"url":"https://git.kernel.org/stable/c/e7fcf179b82d3a3730fd8615da01b087cc654d0b"}],"title":"NFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd","x_generator":{"engine":"bippy-1.2.0"}}}}