CVE-2026-99130 json
io_uring/cancel: don't spin on local work the task can't run
published 14d ago modified 12d ago also EUVD-2026-111882
- 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 6%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
io_uring/cancel: don't spin on local work the task can't run
io_uring_cancel_generic() refuses to sleep while any ring on the exiting task's tctx has local work pending. It assumes the task is that ring's submitter and that the next io_uring_try_cancel_requests() pass will run the work. This does not hold for a ring that was still IORING_SETUP_R_DISABLED when the task got its tctx node from io_uring_create() or io_ringfd_register(). The submitter is set later by IORING_REGISTER_ENABLE_RINGS, possibly from another task, and only the submitter may run local work on an IORING_SETUP_DEFER_TASKRUN ring. To the exiting task the work stays pending forever, the loop never reaches schedule(), and the task trips the WARN_ON_ONCE() once and then spins in do_exit().
An unprivileged user can set this up at will by creating a disabled ring, having a child enable it and stop, posting to the ring with IORING_OP_MSG_RING and exiting with a request in flight that only the child can complete. The exiting thread burns a CPU until the child runs or dies, and with panic_on_warn set the WARN panics the kernel.
Fix by skipping the sleep only when io_allowed_defer_tw_run() allows the task to run the work. This is reasonable since work it cannot run cannot complete any of its requests either, so nothing is lost by sleeping. Drop the WARN_ON_ONCE() since handing a disabled ring to another thread is a supported scenario, not a bug state.
Patch / fix
- Linux Linux 7.3
- linux Debian 13 6.12.115-2
- linux Debian 14 7.2.13-1
debian advisories DEBIAN-CVE-2026-99130
- linux Ubuntu 26.10 7.3.0-10.10
- linux-aws Ubuntu 26.10 7.3.0-1004.4
- linux-gcp Ubuntu 26.10 7.3.0-1004.4
- linux-raspi Ubuntu 26.10 7.3.0-1004.4
- linux-riscv Ubuntu 26.10 7.3.0-10.10.1
- linux-oracle Ubuntu 26.10 7.3.0-1004.4
- linux-realtime Ubuntu 26.10 7.3.0-10.10.1
ubuntu advisories UBUNTU-CVE-2026-99130
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel Azure Linux 3.0 6.6.161.1-1
azure linux advisories AZL-111242
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/64e196a6d7173667a2a0fe2f191bc64eecd07778 commit
- git.kernel.org/stable/c/8a241d7ca23be2695a1fbe587ee12eae061c31af commit
- git.kernel.org/stable/c/94d13387b96e50a4288f7bbdfe401189246a11a1 commit
- git.kernel.org/stable/c/3005459e0ddfcef0f555b6e81f672f2c49a1c0aa commit
- git.kernel.org/stable/c/fddcf4c5321b3ea5f72166c3fd36a9d1c34f80c7 commit
Is CVE-2026-99130 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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-99130 updated cvss 5.5
kernel: kernel: Denial of service via infinite loop during io_uring cancellation
-
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-9affected: 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.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-11).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/64e196a6d7173667a2a0fe2f191bc64eecd07778
- git.kernel.org /stable/c/8a241d7ca23be2695a1fbe587ee12eae061c31af
- git.kernel.org /stable/c/94d13387b96e50a4288f7bbdfe401189246a11a1
- git.kernel.org /stable/c/3005459e0ddfcef0f555b6e81f672f2c49a1c0aa
- git.kernel.org /stable/c/fddcf4c5321b3ea5f72166c3fd36a9d1c34f80c7
Sources
- CVE List CVE-2026-99130
- NVD CVE-2026-99130
Fencer Intel 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.