CVE-2026-89684

nfsd: fix cpntf publish race in nfs4_init_cp_state

State
Published
Severity
7.5 High
Published
Sep 11, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

nfsd: fix cpntf publish race in nfs4_init_cp_state

nfs4_alloc_init_cpntf_state() published the new cpntf entry into the s2s_cp_stateids IDR (with cs_type set) in one s2s_cp_lock section, then took the lock again to list_add() it onto p_stid->sc_cp_list. In the gap the entry is reachable by so_id but cp_list is still {NULL,NULL} from kzalloc. A racing OFFLOAD_CANCEL (so_id is echoed to the client as cnr_stateid, so any NFSv4.2 client can drive it) reaches manage_cpntf_state() -> _free_cpntf_state_locked() and does list_del() on the zeroed list_head, oopsing the server.

Fold the cs_type assignment and the list_add() into the same critical section as idr_alloc_cyclic(), so a concurrent lookup either misses the entry or sees a fully linked cp_list. INIT_LIST_HEAD() the entry after allocation and switch _free_cpntf_state_locked() to list_del_init() so a stale unlink is a no-op. nfs4_init_copy_state() passes NULL p_stid and skips the list_add, preserving NFS4_COPY_STID semantics.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before 63e18fc65587fd3f7b4c6d70e96d32fc41d82ba3Affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before 6ac469a274e3c7d87fc46ba46d83b95009680407Affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before 8eeca993357a0bc35aaefebfd7462ac7b0a21d9aAffected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before bfeac42d9074e539bacd1898dd8c14b7f5776620Affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before 21d6c5957f5ca97d7352e60f55ea412beb9419f5Affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before a631a26a8777bb235eabd478bbbaf26a4db750bfAffected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before c7270f62e7a05a2ee68aa2b74262b658a14463bdAffected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to before be3a5c1d857b0dcbc11796cea603ef25834f75b2Affected
LinuxLinux
  • 5.6Affected
  • before 5.6Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.