CVE-2026-89676

nfsd: fix stale s2s_cp_stateids IDR entry for async COPY

State
Published
Severity
9.8 Critical
Published
Sep 11, 2026
Updated
Oct 30, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

nfsd: fix stale s2s_cp_stateids IDR entry for async COPY

For an async COPY, nfsd4_copy() called nfs4_init_copy_state() before dup_copy_fields(), so the s2s_cp_stateids IDR was pointed at &u->copy->cp_stateid -- memory in the per-rqstp COMPOUND buffer that is reused by the next request. dup_copy_fields() copies only the value into async_copy, so the IDR slot dangled at the transient buffer for the whole background copy. Any IDR walker then dereferences reused request memory: the laundromat reads cs_type from it and, if the bytes look like an expired NFS4_COPYNOTIFY_STID, follows into refcount_dec()/idr_remove()/kfree() on garbage; manage_cpntf_state() has the same exposure via idr_find().

Duplicate the fields first, then register the stateid on the stable async_copy. result->cb_stateid is unchanged.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 to before 745b2edfdd96b8738a94dee450adff4c7d026d5bAffected
  • e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 to before bdce362f49410b9def65d76c21f6259cd89696d8Affected
  • e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 to before 7aa34ea78f74e6ef60c8112635a87fc43d57f6c9Affected
  • e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 to before 9b4e5e9ba5ae13808b8a6d229d87c54611ba0e7aAffected
  • e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 to before 14b978e8d05ce018d0afbeb6611833ef91713a02Affected
  • e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 to before d0beaee498e11880e72826026db0e9c9890fc114Affected
LinuxLinux
  • 4.20Affected
  • before 4.20Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.111 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.