KernelScan.io

CRITICAL Introduced in 3.10

nfs FreeStateid UAF

CVE-2026-74730

CVSS 9.8 / 10.0 NVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.9MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: NFS: Pin the 'struct nfs_server' during a FREE_STATEID call Dan Aloni reports that he was able to hit a use-after-free bug if a FREE_STATEID operation gets delayed for whatever reason. Fix this by bumping the refcount of the 'struct nfs_server' object for the duration of the FREE_STATEID so it doesn't get cleaned up from underneath us while operations are still in flight.

02

Engine v0.6.0

Risk summary

A use-after-free in the NFSv4 client can be triggered when an asynchronous FREE_STATEID operation is delayed and the underlying nfs_server is torn down before the RPC completes. Any local user with access to an NFS-mounted filesystem can trigger the vulnerable code path through normal file operations. Successful exploitation could lead to kernel memory corruption, privilege escalation, or a system crash.

Affectedfs/nfs/nfs4proc.c (NFSv4 client)

Vulnerability analysis

The NFSv4 client can free a server object while an asynchronous cleanup operation is still in flight. If that operation is delayed by network conditions or server issues, the completion handling may run after the object has already been destroyed, leading to use-after-free. The fix ensures the client keeps the server object alive for the entire duration of the asynchronous operation, dropping the reference only after the reply is handled. If the object is already being torn down, the cleanup is skipped instead of using stale memory. Any local user with access to files on an NFS mount can trigger this through normal file operations; mounting the filesystem requires administrator privileges, but the operations that trigger the vulnerable state management do not.

03

BranchIntroducedFixed inPatch commit
5.103.105.10.265ed2f92ce2fc4
5.153.105.15.216d858ab09e787
6.13.106.1.183af62f1af182d
6.123.106.12.104ed1161ab6239
6.183.106.18.45d71dfffa512e
6.63.106.6.152caee6a68ffaa
7.13.107.1.980ed3d762628
mainline3.107.2cf616096a0f3
cip/4.193.104.19.325-cip1369ff43b4c7c04
cip/4.19-rt3.104.19.325-cip136-rt509ff43b4c7c04
cip/4.43.104.4.302-cip115412fc563a723
cip/4.4-rt3.104.4.302-cip115-rt63412fc563a723
cip/5.103.105.10.268-cip77ed2f92ce2fc4
cip/5.10-rt3.105.10.268-cip77-rt34ed2f92ce2fc4
cip/6.13.106.1.187-cip60af62f1af182d
cip/6.1-rt3.106.1.189-cip61-rt32af62f1af182d
cip/6.123.106.12.104-cip30ed1161ab6239

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.104-cip30
cip/6.1Fixed in 6.1.187-cip60
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.268-cip77
cip/5.10-rtFixed in 5.10.268-cip77-rt34
cip/4.19Fixed in 4.19.325-cip136
cip/4.19-rtFixed in 4.19.325-cip136-rt50
cip/4.4Fixed in 4.4.302-cip115
cip/4.4-rtFixed in 4.4.302-cip115-rt63