Skip to main content

Linux Kernel CVE-2026-53191

| EUVDEUVD-2026-39282 HIGH
2026-06-25 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-qhpr-79xw-32m8
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.3 MEDIUM

Local unprivileged io_uring use (AV:L/PR:L); AC:H because triggering needs a non-default incremental provided-buffer-ring bundle recv with partial consumption; impact is mainly information disclosure (C:H), minor integrity, no availability loss.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jun 28, 2026 - 09:28 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.8 (HIGH)
Patch available
Jun 25, 2026 - 10:32 EUVD
CVE Published
Jun 25, 2026 - 09:16 cve.org
UNKNOWN (no severity yet)
CVE Published
Jun 25, 2026 - 09:16 cve.org
HIGH 7.8

DescriptionCVE.org

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.

AnalysisAI

Improper completion-flag handling in the Linux kernel's io_uring networking layer (io_uring/net) causes IORING_CQE_F_BUF_MORE to be dropped when a bundled recv operation retries while using incremental provided buffer rings (IOU_PBUF_RING_INC). Local applications using io_uring can be misled into advancing a buffer ring head past an entry the kernel is still using, leading to buffer reuse, data corruption, and potential information disclosure. There is no public exploit identified at time of analysis, EPSS is low (0.18%), and a vendor patch is available across stable trees.

Technical ContextAI

The flaw lives in io_uring, the Linux asynchronous I/O interface, specifically the network recv path. When a 'bundle' recv retries inside io_recv_finish(), the kernel merges completion flags using 'cflags = req->cqe.flags | (cflags & CQE_F_MASK)', where CQE_F_MASK enumerates which flag bits are taken from the new iteration versus carried over from the saved value. With provided buffer rings in incremental mode (IOU_PBUF_RING_INC), io_kbuf_inc_commit() can leave a head ring entry partially consumed, after which __io_put_kbufs() sets IORING_CQE_F_BUF_MORE to signal userspace that the buffer ID will be reused for later completions. Because IORING_CQE_F_BUF_MORE was omitted from CQE_F_MASK, the merge silently discarded it when the final retry partially consumed the buffer. The root cause is a state/flag-tracking error (an incorrect completion-event mask) rather than a classic memory-safety primitive; the CWE was not assigned (N/A) but it maps conceptually to improper synchronization/incorrect handling of state information. The fix adds IORING_CQE_F_BUF_MORE to CQE_F_MASK so the flag is both inherited into the user-visible CQE and stripped from saved cflags between iterations.

RemediationAI

Vendor-released patch: update to a fixed stable kernel - 6.12.94, 6.18.36, 7.0.13, or 7.1 (or your distribution's backported equivalent), corresponding to upstream fix commits ed46f39c47eb5530a9c161481a2080d3a869cfaf, 0bbc9481f970b0b4ddb08cfa464db1cc93b74b56, 4973232a67e4137ab9399f504f7f2bdd847f96d2, and f40570fda3f3a1f96aeaa4aef665ba274b2810b5 (see https://git.kernel.org/stable/c/ed46f39c47eb5530a9c161481a2080d3a869cfaf). Apply via your distro's normal kernel update channel and reboot. If immediate patching is not possible, a targeted compensating control is to restrict unprivileged io_uring usage - set the sysctl kernel.io_uring_disabled=2 to disable io_uring system-wide, or =1 to restrict it to processes with CAP_SYS_ADMIN; the trade-off is that any legitimate io_uring-dependent application (some databases, proxies, and high-performance I/O services) will lose that capability or break. Alternatively, where you control application code, avoid combining provided buffer rings in incremental mode (IOU_PBUF_RING_INC) with bundled recv until patched, accepting reduced I/O efficiency. Generic seccomp filtering of io_uring_setup/io_uring_enter is also viable for sandboxed workloads.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-53191 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy