CVE-2024-56740·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: nfs/localio: must clear res.replen in nfs_local_read_done Otherwise memory corruption can occur due to NFSv3 LOCALIO reads leaving garbage in res.replen: - nfs3_read_done() copies that into server->read_hdrsize; from there nfs3_proc_read_setup() copies it to args.replen in new requests. - nfs3_xdr_enc_read3args() passes that to rpc_prepare_reply_pages() which includes it in hdrsize for xdr_init_pages, so that rq_rcv_buf contains a ridiculous len. - This is copied to rq_private_buf and xs_read_stream_request() eventually passes the kvec to sock_recvmsg() which receives incoming data into entirely the wrong place. This is easily reproduced with NFSv3 LOCALIO that is servicing reads when it is made to pivot back to using normal RPC. This switch back to using normal NFSv3 with RPC can occur for a few reasons but this issue was exposed with a test that stops and then restarts the NFSv3 server while LOCALIO is performing heavy read IO.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.12.2
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 11% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2024-56740 scores 7.8 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 6.12
Until: 6.12.2
Fixed in: 6.12.2
How to fix this CVE
Update your Linux kernel to version 6.12.2 or later to resolve a critical memory corruption issue in NFSv3 LOCALIO read operations. This vulnerability occurs when the kernel fails to properly clear internal state during local NFS reads, causing garbage data to be interpreted as buffer sizes in subsequent network operations. Systems using NFSv3 with LOCALIO functionality that may fall back to standard RPC should prioritize this update immediately.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version with: uname -r — compare against 6.12.0 to 6.12.2 to identify vulnerable versions
- Verify NFSv3 LOCALIO is enabled by checking: grep -i localio /boot/config-$(uname -r) and confirming CONFIG_NFS_LOCALIO=y
- Review kernel logs for memory corruption indicators: dmesg | grep -i 'memory corruption\|buffer overflow\|invalid address' or sudo journalctl -u kernel -n 500 | grep -E 'Oops|BUG|segfault'
- After patching, confirm the updated kernel is loaded with: uname -r and verify it shows version 6.12.2 or later
FAQ
What is CVE-2024-56740?
CVE-2024-56740 is a kernel memory corruption vulnerability in NFSv3 LOCALIO (local I/O optimization) where uninitialized read response metadata causes subsequent network operations to interpret garbage data as buffer boundaries, leading to out-of-bounds memory writes.
Is CVE-2024-56740 being actively exploited?
No — CISA has not listed CVE-2024-56740 in the Known Exploited Vulnerabilities (KEV) catalog, and no public exploits are currently available. However, the memory corruption impact warrants rapid patching.
What versions of Kernel are affected by CVE-2024-56740?
Linux kernel versions 6.12.0, 6.12.1, and 6.12.2 are affected. The vulnerability was resolved in kernel 6.12.2 and later stable releases.
How do I check if my server is vulnerable to CVE-2024-56740?
Run uname -r to display your kernel version; if it reports 6.12.0 or 6.12.1, your system is vulnerable. Additionally, verify NFSv3 LOCALIO support with grep CONFIG_NFS_LOCALIO /boot/config-$(uname -r).
Does Defensia detect CVE-2024-56740?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-56740 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-56740. Free for 1 server.
Get started free