Description
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.
Product status
f31ecf671ddc498f20219453395794ff2383e06b (git) before 954518e5a4a5efc5033253f6e36fc7b9f98363a3
f31ecf671ddc498f20219453395794ff2383e06b (git) before b737c6612c60c23b40a9f31749b99e6f61943847
f31ecf671ddc498f20219453395794ff2383e06b (git) before 4d2a0de611ab60d02fc768ae0cd5918b16bd5474
f31ecf671ddc498f20219453395794ff2383e06b (git) before 93d93f5f8da791e98159795c6ef683f45bd95d13
6.7
Any version before 6.7
6.12.92 (semver)
6.18.34 (semver)
7.0.11 (semver)
7.1-rc5 (original_commit_for_fix)
References
git.kernel.org/...c/954518e5a4a5efc5033253f6e36fc7b9f98363a3
git.kernel.org/...c/b737c6612c60c23b40a9f31749b99e6f61943847
git.kernel.org/...c/4d2a0de611ab60d02fc768ae0cd5918b16bd5474
git.kernel.org/...c/93d93f5f8da791e98159795c6ef683f45bd95d13