cveboard RSS feed

CVE-2026-89705

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

nfsd: restore rq_status_counter to even on all nfsd_dispatch() exit paths

In the Linux kernel, the following vulnerability has been resolved: nfsd: restore rq_status_counter to even on all nfsd_dispatch() exit paths nfsd_dispatch() sets rq_status_counter to an odd value once a request has been decoded, and back to an even value once it has been fully processed, forming a seq-lock like protocol with the lockless reader in nfsd_nl_rpc_status_get_dumpit(). Only the fully successful path restored the counter to even. The cache-hit (RC_REPLY), drop (RC_DROPIT / RQ_DROPME) and encode-error paths all return after the odd-valued store without ever bringing the counter back to even. Once one of those paths is taken, rq_status_counter is left odd: the next request's decode ORs in 1 (still odd) and only a subsequent successful encode restores even. While stuck odd, the dumpit reader treats the rqstp fields as stable and its retry check compares against the same unchanging odd value, so it never detects concurrent mutation. This exposes actively mutating fields (e.g. args->ops / args->opcnt during compound decode and release) to the lockless reader, which can read past the end of the 8-element inline ops array. Add a helper that advances the counter to the next even value and call it on every return path that follows the odd-valued store. The decode-error path is left untouched as it is reached before the counter is set odd.

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
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
bd9d6a3efa9709e653aafbeb859289feccb8e70caffectedgit5773e00cc0f9e34983bd29ba2a607c6b14258e00UnavailableNone listed
bd9d6a3efa9709e653aafbeb859289feccb8e70caffectedgitdf5500ab85df661d9e4439e4c456787181fbd5ffUnavailableNone listed
bd9d6a3efa9709e653aafbeb859289feccb8e70caffectedgitb08c30f08d57f30699d36809d92f0b683dca261fUnavailableNone listed
bd9d6a3efa9709e653aafbeb859289feccb8e70caffectedgitf6045886fe3f14f269f683d64021b004a50d0efaUnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
6.7affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver6.7UnavailableNone listed
6.12.114unaffectedsemverUnavailable6.12.*None listed
6.18.57unaffectedsemverUnavailable6.18.*None listed
7.2.4unaffectedsemverUnavailable7.2.*None listed
7.3unaffectedoriginal_commit_for_fixUnavailable*None listed