CVE-2026-46315
N/A
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
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | f31ecf671ddc498f20219453395794ff2383e06b < 954518e5a4a5efc5033253f6e36fc7b9f98363a3 | affected |
| Linux | Linux | f31ecf671ddc498f20219453395794ff2383e06b < b737c6612c60c23b40a9f31749b99e6f61943847 | affected |
| Linux | Linux | f31ecf671ddc498f20219453395794ff2383e06b < 4d2a0de611ab60d02fc768ae0cd5918b16bd5474 | affected |
| Linux | Linux | f31ecf671ddc498f20219453395794ff2383e06b < 93d93f5f8da791e98159795c6ef683f45bd95d13 | affected |
| Linux | Linux | 6.7 | affected |
| Linux | Linux | 0 < 6.7 | unaffected |
| Linux | Linux | 6.12.92 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.34 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.11 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/954518e5a4a5efc5033253f6e36fc7b9f98363a3
- https://git.kernel.org/stable/c/b737c6612c60c23b40a9f31749b99e6f61943847
- https://git.kernel.org/stable/c/4d2a0de611ab60d02fc768ae0cd5918b16bd5474
- https://git.kernel.org/stable/c/93d93f5f8da791e98159795c6ef683f45bd95d13
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.