CVE-2026-99230
io_uring/cmd: don't leave list poison in ->hash_node
What happened?
In the Linux kernel, the following vulnerability has been resolved:
io_uring/cmd: don't leave list poison in ->hash_node
io_uring_cmd_del_cancelable() uses hlist_del() to take a command off ->cancelable_uring_cmd, which leaves LIST_POISON1/2 behind in ->hash_node. Requests are recycled through the request cache without being reinitialised, and not every user of ->hash_node sets it up before it is used:
If a vectored futex wait is woken while futex_wait_multiple_setup() is still queueing the futexes, io_futexv_wait() doesn't add the request to ->futex_list, and leaves the completion to the task_work queued by the wake up. io_futexv_complete() ends in __io_futex_complete(), whose hlist_del_init() is fine for a request that is unhashed, which is how all other users of the node leave it. If the request was a cancelable uring_cmd in its previous life, e.g. a ublk FETCH_REQ, it writes through LIST_POISON2:
Oops: general protection fault, probably for non-canonical address KASAN: maybe wild-memory-access in range [0xdead000000000120-...] RIP: 0010:io_futexv_complete+0x219/0x420 Call Trace: tctx_task_work_run+0x804/0x950 tctx_task_work+0x71/0xa0 task_work_run+0x118/0x200
Leave the node unhashed.
Affected software and versions
| Software | Version information | Fixed version |
|---|---|---|
| LinuxLinux | affected: 93b8cc60c37b9d17732b7a297e5dca29b50a990d to < cc7f13d006fcefed9564bd79f135b51d344e9c77; affected: 93b8cc60c37b9d17732b7a297e5dca29b50a990d to < 2d5af21422060c088f6e4fb0f1e7dcf5bcdd6707; affected: 93b8cc60c37b9d17732b7a297e5dca29b50a990d to < 685b49483200384d7f49d338af476e26e6824637; affected: 93b8cc60c37b9d17732b7a297e5dca29b50a990d to < 4c83e39f4d1944d7146fd06094f2c8053238d55c | See vendor advisory |
| LinuxLinux | affected: 6.7; unaffected: 0 to < 6.7; unaffected: 6.12.115 to ≤ 6.12.*; unaffected: 6.18.60 to ≤ 6.18.*; unaffected: 7.2.14 to ≤ 7.2.*; unaffected: 7.4-rc1 to ≤ * | See vendor advisory |
Version information comes from the source record and can include unaffected products and exceptions. Distribution packages may contain backported fixes: an older upstream version alone does not prove a server is affected.
Is it being exploited?
This CVE was not listed in the CISA catalogue at our last retrieval. This does not establish that exploitation is absent.
How to respond
- Confirm the product, installed package version, and any configuration requirements in the vendor advisory.
- Follow the vendor’s remediation or workaround guidance in the references below. Structured fixed-version data is unavailable here; the publisher’s description may include a fix or workaround.
- Restart affected services if required, then verify the running version. Known exploitation may warrant investigation as well as patching.
Sources and remediation references
- https://www.cve.org/CVERecord?id=CVE-2026-99230
- https://git.kernel.org/stable/c/cc7f13d006fcefed9564bd79f135b51d344e9c77
- https://git.kernel.org/stable/c/2d5af21422060c088f6e4fb0f1e7dcf5bcdd6707
- https://git.kernel.org/stable/c/685b49483200384d7f49d338af476e26e6824637
- https://git.kernel.org/stable/c/4c83e39f4d1944d7146fd06094f2c8053238d55c