Skip to main content
No exploitation reportedAwaiting NVD analysis

CVE-2026-99264

io_uring/net: don't retry recv on uncommitted buffers

No exploitation reported by the sources we read.

  • Published2026-11-03

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2026-11-0311:48CVE publishedCNA

Observed activity

isMalicious corpus · updated 2026-11-03 15:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2026-99264?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2026-99264?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

Products declared by the CNA

As Linux, the CNA that assigned this CVE, declared them in the CVE record; versions as written. NVD lists no product for this CVE yet: this is the only product data so far.

  • Linuxother versions: not affected

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

    Affected
    • ≥ fe9da1812f8697a38f7e30991d568ec199e16059, < 21cb1770a56a51266ab96d4ed2a3b6979db59694fixed in 21cb1770a56a51266ab96d4ed2a3b6979db59694git
    • ≥ 41b70df5b38bc80967d2e0ed55cc3c3896bba781, < fc8506eea4498ecba26ef8bf6dbbd74af3dc891dfixed in fc8506eea4498ecba26ef8bf6dbbd74af3dc891dgit
    • ≥ 41b70df5b38bc80967d2e0ed55cc3c3896bba781, < 97b8dc36ba3cb176b74a7929140aeaeb40d5cdc0fixed in 97b8dc36ba3cb176b74a7929140aeaeb40d5cdc0git
    • ≥ 41b70df5b38bc80967d2e0ed55cc3c3896bba781, < 8444de681a179e41a4eb92d5bbe770a0677074a6fixed in 8444de681a179e41a4eb92d5bbe770a0677074a6git
    • = 3b53dc1c641f2884d4750fc25aaf6c36b90db606no fix statedgit
    • = 21a4ddb0f5e933f372808c10b9ac704505751bb1no fix statedgit
    • = 2eb7937b5fc7fcd90eab7bebb0181214b61b9283no fix statedgit
    • ≥ 6.12.44, < 6.12.115fixed in 6.12.115semver

    3 more version lines in the CVE record.

  • Linuxother versions: affected

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

    Affected
    • = 6.17no fix stated

    Not affected < 6.17 · ≥ 6.12.115, ≤ 6.12.* · ≥ 6.18.60, ≤ 6.18.* · ≥ 7.2.14, ≤ 7.2.* · ≥ 7.4-rc1

Source: the CNA record (CVE Program), © The MITRE Corporation,CVE Terms of UseCVE recordupdated 2026-11-03

Neither OSV.dev nor the vendor advisories we read list affected versions for CVE-2026-99264 yet.

Full record on NVD

Fix

No fix published by the sources we read yet. NVD record

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
none listed
PoC-in-GitHub
Metasploit modules
none listed
Metasploit Framework

Sources

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Published
2026-11-03
Last Modified
2026-11-03
NVD status
Received
GitHub Advisory
GHSA-q4wp-8vpq-9rg3

Frequently asked questions

What is CVE-2026-99264?

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.

Is CVE-2026-99264 actively exploited?

Active exploitation of CVE-2026-99264 has not been confirmed.

What is the CVSS score for CVE-2026-99264?

CVE-2026-99264 has a CVSS v3 base score of 7.8 (HIGH severity), with vector string CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

Running Linux kernel? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record