CVE-2026-31403
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
NFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd
In the Linux kernel, the following vulnerability has been resolved: NFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd The /proc/fs/nfs/exports proc entry is created at module init and persists for the module's lifetime. exports_proc_open() captures the caller's current network namespace and stores its svc_export_cache in seq->private, but takes no reference on the namespace. If the namespace is subsequently torn down (e.g. container destruction after the opener does setns() to a different namespace), nfsd_net_exit() calls nfsd_export_shutdown() which frees the cache. Subsequent reads on the still-open fd dereference the freed cache_detail, walking a freed hash table. Hold a reference on the struct net for the lifetime of the open file descriptor. This prevents nfsd_net_exit() from running -- and thus prevents nfsd_export_shutdown() from freeing the cache -- while any exports fd is open. cache_detail already stores its net pointer (cd->net, set by cache_create_net()), so exports_release() can retrieve it without additional per-file storage.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | 76740c28050dc6db2f5550f1325b00a11bbb3255 | Unavailable | None listed |
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | c7f406fb341d6747634b8b1fa5461656e5e56076 | Unavailable | None listed |
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | d1a19217995df9c7e4118f5a2820c5032fef2945 | Unavailable | None listed |
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | e3d77f935639e6ae4b381c80464c31df998d61f4 | Unavailable | None listed |
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | db4a9f99b12a7ee1c19d86c83a3b752c7effa6c6 | Unavailable | None listed |
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | 6a8d70e2ad6aad2c345a5048edcb8168036f97d6 | Unavailable | None listed |
| 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 | affected | git | e7fcf179b82d3a3730fd8615da01b087cc654d0b | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 3.9 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 3.9 | Unavailable | None listed |
| 5.10.253 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 6.1.167 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.130 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.78 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.20 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 6.19.10 | unaffected | semver | Unavailable | 6.19.* | None listed |
| 7.0 | unaffected | original_commit_for_fix | Unavailable | * | None listed |