KernelScan.io

HIGH Introduced in 6.7

nfsd RpcStatus Race

CVE-2026-93229

CVSS 7.1 / 10.0 NVD

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

KernelScan AI2.5LOW

01

In the Linux kernel, the following vulnerability has been resolved: nfsd: add missing read barrier to rpc_status_get dumpit seqcount retry The hand-rolled seqcount-like protocol in nfsd_nl_rpc_status_get_dumpit() is missing a read memory barrier (smp_rmb) before its second counter check. The standard kernel read_seqcount_retry() includes smp_rmb() to ensure that all data reads complete before the counter is re-checked. Without this barrier, on weakly-ordered architectures (ARM, POWER), the CPU may reorder field reads past the second counter check, making the retry logic ineffective: it could observe a consistent counter pair while reading fields that have been concurrently modified by the writer. Add smp_rmb() before the second counter check to order the field reads ahead of it, matching the barrier semantics of the standard seqcount read-side. The begin-side smp_load_acquire() already pairs with the smp_store_release() in nfsd_dispatch(); with the smp_rmb() now ordering the field reads, the retry check no longer needs acquire semantics and reads the counter with a plain READ_ONCE(), as read_seqcount_retry() does. [ cel: Use READ_ONCE instead of smp_load_acquire() ]

02

Engine v0.6.0

Risk summary

A missing read memory barrier in the NFS server's RPC status netlink dump logic breaks the seqcount retry mechanism on weakly-ordered architectures, allowing a local attacker to observe inconsistent field values from a concurrently-modified RPC request. The impact is limited to reading stale or mixed debug/status data; no memory corruption, crash, or privilege escalation is expected. The race requires the NFS server to be actively processing RPC requests.

Affectedfs/nfsd/nfsctl.c (nfsd)

Vulnerability analysis

The NFS server's RPC status reporting interface uses a sequence-counter protocol to safely report on requests that are being actively processed. A missing read memory barrier before the retry check means that on weakly-ordered architectures the processor can reorder field reads past the consistency check, so the reader may accept a snapshot that actually mixes old and new values from a request being concurrently updated. The fix adds the missing read barrier before the final counter comparison so all field reads are ordered ahead of it, matching the behavior of the standard kernel sequence-count retry. The vulnerable interface is a local Generic Netlink dump reachable by a process holding network-administrator capability (obtainable in a user namespace on many systems), and the race window opens only while the NFS server is actively dispatching RPC requests from local or remote clients.

03

BranchIntroducedFixed inPatch commit
6.126.76.12.109f501f2f4ec1d
6.186.76.18.501aea0482b98e
7.26.77.2.49b5f6475006c
mainline6.77.3a71f161a8571
cip/6.126.76.12.111-cip32f501f2f4ec1d

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