Description
In the Linux kernel, the following vulnerability has been resolved: NFSD: Guard admin state-revocation walks with NFSD_NET_UP Writing to /proc/fs/nfsd/unlock_filesystem, or sending the NFSD_CMD_UNLOCK_FILESYSTEM or NFSD_CMD_UNLOCK_EXPORT netlink command, walks the NFSv4 client hash tables to revoke open state and cancel async COPY operations. All three handlers gate that walk on nn->nfsd_serv, but a listener added via portlist or netlink listener_set sets nn->nfsd_serv before any nfsd thread starts. nfsd_startup_net() has not yet allocated nn->conf_id_hashtbl, so the walkers dereference a NULL table. A local administrator with CAP_SYS_ADMIN can crash the kernel this way without ever starting the server. nn->nfsd_serv is set when the service is created, which precedes table allocation. NFSD_NET_UP instead brackets the window where the tables are live: set at the end of nfsd_startup_net() and cleared in nfsd_shutdown_net() after they are freed, both under nfsd_mutex. Gating the three unlock paths on NFSD_NET_UP fixes the startup-time NULL dereference while preserving the earlier post-shutdown use-after-free fix.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1ac3629bf012592cb0320e52a1cceb319a05ad17 to < 73bf459d696ecf207a9037bf9bb70c51a459469eaffected1ac3629bf012592cb0320e52a1cceb319a05ad17 to < 104a51265042b4424085741c963cb858ac29ec0baffected1ac3629bf012592cb0320e52a1cceb319a05ad17 to < 0146467a2fce845cb6629979c3e9c58dd3d3a6a3affected1ac3629bf012592cb0320e52a1cceb319a05ad17 to < 2f3e6638aebc0ab8afb8b4e9816ea9a1cad85378affected
Linux Linux
Default version status: affected
6.9affected0 to < 6.9unaffected6.12.111 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.5 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected