Double Free in Linux

CVE-2023-53360

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.

Vulnerability class: Double Free

EPSS: 0.002 (7.4th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Affected products

  • Linux — versions 886959f425b6a936a30b82a297ae3aecb3b8230f, fbd2a05f29a95d5b42b294bf47e55a711424965b, 6.4
  • Linux Linux_kernel

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2023-53360?
CVE-2023-53360 is a critical-severity vulnerability in Linux, classified under Double Free. CVSS score: 9.8/10. Published 2025-09-17.
How severe is CVE-2023-53360?
Critical severity. CVSS v3 base score is 9.8 out of 10.
Is CVE-2023-53360 known to be exploited?
1 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.