CVE-2026-89705: Linux kernel · nfsd: restore rq_status_counter to even on all nfsd_dispatch() exit paths
Affects Linux kernelSource CVE Database V5
Not known to be exploited · CVSS 7.1 High · fixed in f6045886fe3f14f269f683d64021b004a50d0efa : patch Linux kernel soon.
Data as of 26 Oct 2026, 13:47 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 5% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in f6045886fe3f14f269f683d64021b004a50d0efa, df5500ab85df661d9e4439e4c456787181fbd5ff, b08c30f08d57f30699d36809d92f0b683dca261f +1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 11 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade Linux kernel to f6045886fe3f14f269f683d64021b004a50d0efa, df5500ab85df661d9e4439e4c456787181fbd5ff, b08c30f08d57f30699d36809d92f0b683dca261f or 5773e00cc0f9e34983bd29ba2a607c6b14258e00.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
Description
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.
References
- git.kernel.org/stable/c/5773e00cc0f9e34983bd29ba2a607c6b14258e00 (opens in a new tab)
- git.kernel.org/stable/c/df5500ab85df661d9e4439e4c456787181fbd5ff (opens in a new tab)
- git.kernel.org/stable/c/b08c30f08d57f30699d36809d92f0b683dca261f (opens in a new tab)
- git.kernel.org/stable/c/f6045886fe3f14f269f683d64021b004a50d0efa (opens in a new tab)