CVE-2026-46315
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2026-46315 is a missing initialization vulnerability in the Linux kernel's io_uring subsystem, specifically in the IORING_OP_WAITID operation. When a waitid operation completes without reporting a child event, uninitialized or stale bytes from the reused io_kiocb command storage can be copied to userspace via the siginfo structure, exposing kernel memory contents. The vulnerability was published on June 9, 2026, and affects Linux kernel versions from commit f31ecf671ddc498f20219453395794ff2383e06b up to the patched commits across stable branches. It carries a CVSS v3.1 base score of 5.5 (Medium) (Github Advisory, Red Hat Bugzilla).

Technical details

The root cause is classified as CWE-909 (Missing Initialization of Resource). The IORING_OP_WAITID operation stores its result fields in struct io_waitid::info, which is later copied to userspace as a siginfo structure. While the prep path initializes the request arguments, it does not zero-initialize the info field itself. If the underlying wait operation completes without a child event, the common wait code may return without writing to wo_info, leaving stale data in the reused io_kiocb command storage. The io_waitid_finish() function then copies this uninitialized memory to userspace, unlike the regular waitid syscall which uses a zero-initialized struct waitid_info (Github Advisory, Red Hat Bugzilla).

Impact

Successful exploitation allows a local, low-privileged user to read stale kernel memory contents that should not be accessible from userspace, constituting a kernel memory disclosure. The exposed data originates from the reused io_kiocb command storage, which may contain sensitive information from prior kernel operations. While there is no direct integrity or availability impact, the confidentiality breach could potentially aid in bypassing kernel ASLR or leaking sensitive data from other processes or kernel structures (Github Advisory, Feedly).

Exploitation steps

  1. Precondition check: Confirm the target system runs a vulnerable Linux kernel version (introduced at commit f31ecf671ddc498f20219453395794ff2383e06b) with io_uring enabled and accessible to unprivileged users.
  2. Set up io_uring instance: As a local user, create an io_uring instance using io_uring_setup() to obtain a ring file descriptor.
  3. Submit IORING_OP_WAITID: Prepare and submit an IORING_OP_WAITID submission queue entry (SQE) targeting a process or condition that will complete without generating a child event (e.g., waiting on a non-existent or already-reaped child PID).
  4. Trigger uninitialized copy: When the wait operation completes without writing to wo_info, io_waitid_finish() copies the uninitialized iw->info (stale io_kiocb storage) into the userspace siginfo buffer.
  5. Read leaked memory: Inspect the returned siginfo structure in userspace for stale kernel memory contents, which may include data from prior kernel operations in the reused command storage (Github Advisory, Feedly).

Indicators of compromise

  • Logs: Unusual or repeated io_uring system calls (io_uring_setup, io_uring_enter) from unprivileged processes, particularly those submitting IORING_OP_WAITID operations with unusual PID targets; audit logs showing waitid-related io_uring submissions that do not correspond to legitimate child process management.
  • Process Behavior: Unprivileged processes making high-frequency io_uring submissions with IORING_OP_WAITID opcodes, especially targeting non-existent or already-reaped child PIDs, which may indicate probing for memory disclosure.
  • Network: No direct network indicators; however, if the leaked memory is used to bypass ASLR, subsequent exploitation attempts (e.g., privilege escalation) may generate anomalous kernel or process behavior.

Mitigation and workarounds

Apply the upstream kernel patches that zero-initialize the waitid_info structure during the prep phase of IORING_OP_WAITID. Patched commits are available for multiple stable branches: 954518e5a4a5efc5033253f6e36fc7b9f98363a3, b737c6612c60c23b40a9f31749b99e6f61943847, 4d2a0de611ab60d02fc768ae0cd5918b16bd5474, and 93d93f5f8da791e98159795c6ef683f45bd95d13, targeting kernel versions including 6.12.92, 6.18.34, 7.0.11, and 7.1-rc5 (Github Advisory, Red Hat Bugzilla). As a workaround on systems where io_uring is not required, administrators can disable io_uring via sysctl -w kernel.io_uring_disabled=1 or restrict access using seccomp policies. OpenSUSE and Debian have also issued security updates addressing this CVE (OpenSUSE Advisory).

Community reactions

Red Hat tracked the vulnerability via Bugzilla (BZ#2486933) and published a security advisory shortly after disclosure (Red Hat Bugzilla). OpenSUSE issued a security announcement to its mailing list, and Debian and Yocto Project also tracked the CVE for their respective distributions. Tenable released Nessus detection plugins (IDs 320095 and 321868) to identify vulnerable systems. No significant social media discussion or notable researcher commentary beyond standard vulnerability tracking has been observed.

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64192HIGH7.8
  • Linux Kernel logoLinux Kernel
  • kernel-zfcpdump-devel-matched
NoYesJul 20, 2026
CVE-2026-64191HIGH7.8
  • Linux Kernel logoLinux Kernel
  • linux-lowlatency-hwe-6.8
NoYesJul 20, 2026
CVE-2026-64206MEDIUM5.5
  • Linux Kernel logoLinux Kernel
  • kernel-selftests-internal
NoYesJul 20, 2026
CVE-2026-64205MEDIUM5.5
  • Linux Kernel logoLinux Kernel
  • kernel-zfcpdump-modules-extra
NoNoJul 20, 2026
CVE-2026-64600NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-abi-stablelists
NoYesJul 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management