CVE-2023-53360

NFSv4.2: Rework scratch handling for READ_PLUS (again)

State
Published
Severity
9.8 Critical
Published
Sep 17, 2025
Updated
Aug 5, 2026
Reserved
Sep 17, 2025

Read the record on cve.org

Description

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

NFSv4.2: Rework scratch handling for READ_PLUS (again)

I found that the read code might send multiple requests using the same nfs_pgio_header, but nfs4_proc_read_setup() is only called once. This is how we ended up occasionally double-freeing the scratch buffer, but also means we set a NULL pointer but non-zero length to the xdr scratch buffer. This results in an oops the first time decoding needs to copy something to scratch, which frequently happens when decoding READ_PLUS hole segments.

I fix this by moving scratch handling into the pageio read code. I provide a function to allocate scratch space for decoding read replies, and free the scratch buffer when the nfs_pgio_header is freed.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 886959f425b6a936a30b82a297ae3aecb3b8230f to before adac9f0ddd2b291c7ce41f549fdb27a13616cff5Affected
  • fbd2a05f29a95d5b42b294bf47e55a711424965b to before a2f4cb206bd94b3f4a7bb05fcdce9525283b5681Affected
  • fbd2a05f29a95d5b42b294bf47e55a711424965b to before ae5d5672f1db711e91db6f52df5cb16ecd8f5692Affected
  • fbd2a05f29a95d5b42b294bf47e55a711424965b to before 303a78052091c81e9003915c521fdca1c7e117afAffected
LinuxLinux
  • 6.4Affected
  • before 6.4Not affected
  • 6.4.16 through 6.4.*Not affected
  • 6.5.3 through 6.5.*Not affected
  • 6.6 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.