CVE-2026-46315

Summary

In the Linux kernel, the following vulnerability has been resolved:

io_uring/waitid: clear waitid info before copying it to userspace

IORING_OP_WAITID stores its result fields in struct io_waitid::info and later copies them to userspace siginfo. The prep path initializes the request arguments, but it does not initialize info itself.

If the wait operation completes without reporting a child event, the common wait code can return without writing wo_info. In that case io_waitid_finish() still copies iw->info to userspace, exposing stale bytes from the reused io_kiocb command storage.

Clear the result storage during prep so the io_uring path matches the regular waitid syscall, which uses a zero-initialized struct waitid_info.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf31ecf671ddc498f20219453395794ff2383e06b < 954518e5a4a5efc5033253f6e36fc7b9f98363a3affected
LinuxLinuxf31ecf671ddc498f20219453395794ff2383e06b < b737c6612c60c23b40a9f31749b99e6f61943847affected
LinuxLinuxf31ecf671ddc498f20219453395794ff2383e06b < 4d2a0de611ab60d02fc768ae0cd5918b16bd5474affected
LinuxLinuxf31ecf671ddc498f20219453395794ff2383e06b < 93d93f5f8da791e98159795c6ef683f45bd95d13affected
LinuxLinux6.7affected
LinuxLinux0 < 6.7unaffected
LinuxLinux6.12.92 <= 6.12.*unaffected
LinuxLinux6.18.34 <= 6.18.*unaffected
LinuxLinux7.0.11 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References