Skip to main content
VulnerabilityPublished Updated

CVE-2026-53191: Linux kernel · io_uring/net: inherit IORING_CQE_F_BUF_MORE across bundle recv retries

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · CVSS 7.8 High · fixed in f40570fda3f3a1f96aeaa4aef665ba274b2810b5 : patch Linux kernel soon.

Data as of 26 Oct 2026, 15:59 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 6% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Total control over the software or total information disclosure

CISA SSVC assessment, 2026-10-16.

Patch
Available – fixed in f40570fda3f3a1f96aeaa4aef665ba274b2810b5, ed46f39c47eb5530a9c161481a2080d3a869cfaf, 4973232a67e4137ab9399f504f7f2bdd847f96d2 +1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Jun 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade Linux kernel to f40570fda3f3a1f96aeaa4aef665ba274b2810b5, ed46f39c47eb5530a9c161481a2080d3a869cfaf, 4973232a67e4137ab9399f504f7f2bdd847f96d2 or 0bbc9481f970b0b4ddb08cfa464db1cc93b74b56.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ ae98dbf43d755b4e111fcd086e53939bef3e9a1a, < f40570fda3f3a1f96aeaa4aef665ba274b2810b5
Fixed in
  • f40570fda3f3a1f96aeaa4aef665ba274b2810b5
LinuxLinuxAffected
  • ≥ ae98dbf43d755b4e111fcd086e53939bef3e9a1a, < ed46f39c47eb5530a9c161481a2080d3a869cfaf
Fixed in
  • ed46f39c47eb5530a9c161481a2080d3a869cfaf
LinuxLinuxAffected
  • ≥ ae98dbf43d755b4e111fcd086e53939bef3e9a1a, < 4973232a67e4137ab9399f504f7f2bdd847f96d2
Fixed in
  • 4973232a67e4137ab9399f504f7f2bdd847f96d2
LinuxLinuxAffected
  • ≥ ae98dbf43d755b4e111fcd086e53939bef3e9a1a, < 0bbc9481f970b0b4ddb08cfa464db1cc93b74b56
Fixed in
  • 0bbc9481f970b0b4ddb08cfa464db1cc93b74b56
LinuxLinuxAffected
  • =6.12
Fixed in–

Description

In the Linux kernel, the following vulnerability has been resolved: io_uring/net: inherit IORING_CQE_F_BUF_MORE across bundle recv retries When a bundle recv retries inside io_recv_finish(), the merge logic OR the saved cflags from the previous iteration with the cflags returned by the new iteration: cflags = req->cqe.flags | (cflags & CQE_F_MASK); Bits listed in CQE_F_MASK are inherited from the new iteration, and all other bits (notably IORING_CQE_F_BUFFER and the buffer ID) come from the saved cflags. Before this change CQE_F_MASK covered only IORING_CQE_F_SOCK_NONEMPTY and IORING_CQE_F_MORE. When using provided buffer rings (IOU_PBUF_RING_INC) with incremental mode, and bundle recv, io_kbuf_inc_commit() can leave the head ring entry partially consumed, __io_put_kbufs() then sets IORING_CQE_F_BUF_MORE on the returned cflags so userspace knows the buffer ID will be reused for subsequent completions. Because IORING_CQE_F_BUF_MORE was not in CQE_F_MASK, the merge above silently dropped it whenever the final retry iteration partially consumed the buffer, and the subsequent req->cqe.flags = cflags & ~CQE_F_MASK save would have left a stale IORING_CQE_F_BUF_MORE in the carried-over cflags had one been present. Userspace would then wrongfully advance it ring head past an entry the kernel still uses. Add IORING_CQE_F_BUF_MORE to CQE_F_MASK so it is both inherited from the new iteration into the user-visible CQE and stripped from the saved cflags between iterations.

References

Community reviews

Loading reviews…