CVE-2026-99230 json
io_uring/cmd: don't leave list poison in ->hash_node
published 2026-11-02 6 d ago modified 2026-11-06 2 d ago also EUVD-2026-115272
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 4%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Linux Linux 6.12.115, 6.18.60, 7.2.14, 7.3.2, 7.4-rc1
- linux Debian 13 6.12.115-1
- linux Debian 14 7.2.14-1
debian advisories DEBIAN-CVE-2026-99230
- git.kernel.org/stable/c/cc7f13d006fcefed9564bd79f135b51d344e9c77 commit
- git.kernel.org/stable/c/2d5af21422060c088f6e4fb0f1e7dcf5bcdd6707 commit
- git.kernel.org/stable/c/685b49483200384d7f49d338af476e26e6824637 commit
- git.kernel.org/stable/c/c4fe1024b2f3f40f8010591a0c0ad541e2883eda commit
- git.kernel.org/stable/c/4c83e39f4d1944d7146fd06094f2c8053238d55c commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-99230 updated cvss 5.5
kernel: kernel: Denial of Service via uninitialized list node in io_uring
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +82 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9, openshift/ose-rhel-coreos-10affected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-selftests-internal Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.16% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-08).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/cc7f13d006fcefed9564bd79f135b51d344e9c77
- git.kernel.org /stable/c/2d5af21422060c088f6e4fb0f1e7dcf5bcdd6707
- git.kernel.org /stable/c/685b49483200384d7f49d338af476e26e6824637
- git.kernel.org /stable/c/c4fe1024b2f3f40f8010591a0c0ad541e2883eda
- git.kernel.org /stable/c/4c83e39f4d1944d7146fd06094f2c8053238d55c
Sources
- CVE List CVE-2026-99230
- NVD CVE-2026-99230
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.