High · published September 5, 2025
In the Linux kernel, the following vulnerability has been resolved:
io_uring/futex: ensure io_futex_wait() cleans up properly on failure
The io_futex_data is allocated upfront and assigned to the io_kiocb
async_data field, but the request isn't marked with REQ_F_ASYNC_DATA
at that point. Those two should always go together, as the flag tells
io_uring whether the field is valid or not.
Additionally, on failure cleanup, the futex handler frees the data but
does not clear ->async_data. Clear the data and the flag in the error
path as well.
Thanks to Trend Micro Zero Day Initiative and particularly ReDress for
reporting this.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 6.7, < 6.12.44 | 6.12.44 |
| linux/linux_kernel | ≥ 6.13, < 6.16.4 | 6.16.4 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |