Skip to content
CVE PROGRAM SOURCE RECORD9.8 Critical

CVE-2026-89669

nfsd: initialize copy-notify stateid before publishing it

Description

In the Linux kernel, the following vulnerability has been resolved: nfsd: initialize copy-notify stateid before publishing it nfsd4_copy_notify() finished initializing the cpntf state after nfs4_alloc_init_cpntf_state() had already linked it into the s2s_cp_stateids IDR and the parent's sc_cp_list, with cs_count == 1 (the membership reference) and none held for the caller. A racing OFFLOAD_CANCEL (crafted cl_id == nn->s2s_cp_cl_id plus the guessable so_id) could reach manage_cpntf_state() and free the entry, turning the caller's subsequent cpn_cnr_stateid read and cp_p_stateid/cp_p_clid writes into use-after-free. The owning clientid was also only recorded after publication, so it could not gate an ownership check in that window. Record cp_p_stateid and cp_p_clid inside nfs4_alloc_init_cpntf_state() before nfs4_init_cp_state() publishes the entry, and return it with an extra reference. The caller reads the stateid under that reference and drops it with nfs4_put_cpntf_state(); on a late error the laundromat reaps the entry.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < 863b6e995665472f2af5be2436a874ab6a9e5ac6affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < d18d36395d973ef7372c8e6724970585f75b5c0baffected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < 4415a692346a39fdb647cbd717eda510159aaf55affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < 9caad13b7cfe9ccb90cc405ac77335800e086595affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < e08a3dcaca0505f861e344a387f37f94d95dbdc2affected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < a4d7fedcaaf33e60a01e53eafca9041ef966212faffected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < 4cdef96892f4fa6e70c405b6e8f2fd6972f3b64baffected
  • 624322f1adc58acd0b69f77a6ddc764207e97241 to < 129643893b79f8a3c6b72045f933fbab5ee424caaffected

Linux Linux

Default version status: affected

  • 5.6affected
  • 0 to < 5.6unaffected
  • 5.10.270 to ≤ 5.10.*unaffected
  • 5.15.221 to ≤ 5.15.*unaffected
  • 6.1.188 to ≤ 6.1.*unaffected
  • 6.6.157 to ≤ 6.6.*unaffected
  • 6.12.109 to ≤ 6.12.*unaffected
  • 6.18.50 to ≤ 6.18.*unaffected
  • 7.2.4 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References