KernelScan.io

HIGH Introduced in 5.6

nfsd CopyNotify UAF

CVE-2026-89694

CVSS 8.7 / 10.0 KernelScan AI

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

01

In the Linux kernel, the following vulnerability has been resolved: nfsd: check client ownership when cancelling a copy-notify stateid On the OFFLOAD_CANCEL path (clp != NULL), manage_cpntf_state() freed the target cpntf state without checking ownership. The lookup key st->si_opaque.so_id is allocated cyclically (guessable) and the embedded clientid is the fixed per-net nn->s2s_cp_cl_id, so any authenticated NFSv4.2 client could cancel and free another client's copy-notify stateid. Compare the creating clientid recorded in state->cp_p_clid against the requesting client's cl_clientid and return nfserr_bad_stateid on a mismatch instead of freeing the entry.

02

Engine v0.6.0

Risk summary

Any authenticated NFSv4.2 client can cancel and free another client's copy-notify stateid when the server-to-server copy offload feature is enabled, creating a use-after-free in the kernel. This can lead to kernel memory corruption, potential code execution, or denial of service on the NFS server. The vulnerability is reachable over the network from any client with basic NFS access.

Affectedfs/nfsd/nfs4state.c (nfsd)

Vulnerability analysis

The NFS server's server-to-server copy offload feature lets an authenticated NFSv4.2 client cancel a copy-notify stateid via the OFFLOAD_CANCEL operation, but the cancellation path did not verify that the requesting client actually owns the target stateid. The lookup key is cyclically allocated and guessable, and the embedded client identifier is a fixed per-network value, so any authenticated client could cancel and free another client's stateid. Freeing a stateid still in use by its legitimate owner creates a use-after-free condition that can corrupt kernel heap memory. The fix adds an ownership check comparing the creating client's identifier against the requesting client's identifier, returning an error on mismatch instead of freeing the entry. The vulnerable path is reachable from any authenticated NFSv4.2 client over the network when the inter-server copy offload feature is enabled.

03

BranchIntroducedFixed inPatch commit
5.105.65.10.27088daaed26e17
5.155.65.15.22181b2cfe76794
6.15.66.1.1886bba72b8ee68
6.125.66.12.109b1eca0730359
6.185.66.18.50b42dc26a14b4
6.65.66.6.15775268f6cfe26
7.25.67.2.4d801906165cb
mainline5.67.36bdbfab96e0c
cip/5.105.65.10.271-cip7888daaed26e17
cip/6.15.66.1.189-cip616bba72b8ee68
cip/6.1-rt5.66.1.189-cip61-rt326bba72b8ee68
cip/6.125.66.12.111-cip32b1eca0730359

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.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)