CVE-2026-53394

nfsd: avoid leaking pre-allocated openowner on unconfirmed retry race

State
Published
Severity
7.5 High
Published
Jul 19, 2026
Updated
Oct 19, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

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

nfsd: avoid leaking pre-allocated openowner on unconfirmed retry race

When find_or_alloc_open_stateowner() encounters an unconfirmed owner, it calls release_openowner() and sets oo = NULL. Control then falls through past the `if (oo)` guard -- which would have freed any pre-allocated `new` -- and unconditionally executes `new = alloc_stateowner(...)`. If `new` was already allocated on a prior iteration, the pointer is silently overwritten and the previous allocation (slab object + owner name buffer) is leaked.

This requires a race: two NFSv4.0 OPEN threads with the same owner string, where a concurrent thread inserts a new unconfirmed owner into the hash between retry iterations. The window is narrow but repeatable under adversarial conditions.

Fix by adding `goto retry` after `oo = NULL` so the already-allocated `new` is reused on the next iteration rather than overwritten.

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

  • CWE-401 Missing Release of Memory after Effective Lifetime

Affected Products

ProductVersions
LinuxLinux
  • 23df17788c6212809848f836b10c4f85b16843a5 to before c9aefb2b5f11337c9202c5bd0c45d71198449718Affected
  • 23df17788c6212809848f836b10c4f85b16843a5 to before 017a6150106b054cc84d1b0582d97bd3a74d4281Affected
  • 23df17788c6212809848f836b10c4f85b16843a5 to before a10bf67fe06469a71a401f72f328237345d553c0Affected
  • 23df17788c6212809848f836b10c4f85b16843a5 to before 57aee7a35bb12753057c5b65d72d1f46c0e95b07Affected
LinuxLinux
  • 6.10Affected
  • before 6.10Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.38 through 6.18.*Not affected
  • 7.1.3 through 7.1.*Not affected
  • 7.2 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.