CVE-2026-99264·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: io_uring/net: don't retry recv on uncommitted buffers Commit 41b70df5b38b ("io_uring/net: commit partial buffers on retry") commits ring provided buffers when a receive is going to be retried after a partial transfer, so that another request using the same buffer group can't be handed the memory the first one keeps receiving into. It commits the number of bytes received so far. That does the job for a single buffer which is consumed as a whole, but the request hangs on to all it has mapped: - For a buffer ring with IOU_PBUF_RING_INC only these bytes are consumed. The rest of the buffer stays at the head of the ring. - For a bundle only the buffers which hold these bytes are consumed, the others that were peeked stay in the ring. In both cases the next receive with that buffer group gets memory that the retried request is still going to write to, and whoever comes last overwrites the data of the other. What the retry fills isn't committed at all, as the buffer list isn't known any more at that point. So the kernel hands it out again later on, while the CQE tells the application that it was used, and for an incremental buffer that it is done with. The remainder can't be committed in advance: if the request ends up receiving less, there is no way to tell the application that more was consumed than the CQE accounts for. Complete the request with what it has got instead of retrying it. MSG_WAITALL is no longer honoured for receives into incremental buffers or multi buffer bundles, they can return a short count, with the request marked as failed like for other short MSG_WAITALL transfers.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.12.115, 6.18.60, 7.2.14, 7.4-rc1
- Published
How to fix this CVE
Update your Linux kernel to one of the fixed stable versions: 6.12.115, 6.18.60, 7.2.14, or mainline 7.4-rc1 or later. This vulnerability affects io_uring's network receive operations when using provided buffers, causing data corruption through buffer reuse during retries. Install your distribution's patched kernel package rather than manually compiling mainline unless you're already running an unstable branch.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r
- Compare against fixed versions: if your version is lower than 6.12.115, 6.18.60, 7.2.14 on their respective branches, you are vulnerable
- Verify io_uring is enabled: grep -i io_uring /boot/config-$(uname -r) | grep CONFIG_IO_URING
- After patching, reboot and re-run uname -r to confirm the new kernel version is loaded
FAQ
What is CVE-2026-99264?
A kernel vulnerability in io_uring's network receive handler that fails to properly commit buffer state during retries, allowing the same memory region to be handed to multiple concurrent requests and causing data corruption or overwrites.
Is CVE-2026-99264 being actively exploited?
No, there is no evidence of active exploitation or publicly available exploits for this vulnerability.
What versions of Kernel are affected by CVE-2026-99264?
Kernel versions prior to 6.12.115 (6.12.x branch), prior to 6.18.60 (6.18.x branch), prior to 7.2.14 (7.2.x branch), and all versions before 7.4-rc1 on mainline are affected.
How do I check if my server is vulnerable to CVE-2026-99264?
Run uname -r to see your kernel version, then check if it's below 6.12.115, 6.18.60, or 7.2.14 depending on your branch. If io_uring is compiled in (grep CONFIG_IO_URING /boot/config-$(uname -r)), your system may be vulnerable.
Does Defensia detect CVE-2026-99264?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2026-99264 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-2026-99264. Free for 1 server.
Get started free