CVE-2026-99252: Linux kernel io_uring denial of service via preemption window

CVE-2026-99252 · Severity: info · Published 2026-11-03

A scheduling vulnerability in the Linux kernel's io_uring subsystem can cause a consumer task to spin indefinitely while holding a critical lock, preventing other work from progressing. An attacker with the ability to queue task work (such as via io-wq workers or IORING_OP_MSG_RING messages) can trigger this condition, leading to a local denial of service.

Technologies: Linux kernel.

Quick answers

Is CVE-2026-99252 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-99252 being exploited in the wild.
How severe is CVE-2026-99252?
Informational severity, published 3 November 2026.
Which products and versions are affected?
Linux kernel io_uring subsystem.
Is there a fix for CVE-2026-99252?
No fixed version is recorded yet. Ensure proper prioritization and CPU affinity policies to prevent high-priority consumer tasks from running on the same CPU as lower-priority io_uring producers when possible. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-99252 attacked?
It is attacked with local access, in an operating system.
Am I affected by CVE-2026-99252?
Check whether you run Linux kernel at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

Ensure proper prioritization and CPU affinity policies to prevent high-priority consumer tasks from running on the same CPU as lower-priority io_uring producers when possible.

Technical details

The vulnerability exists in the mpscq_push() function, which has a race between making a node the queue tail and linking it to its predecessor. A higher-priority consumer task (SCHED_FIFO) on the same CPU can repeatedly call cond_resched() and mpscq_pop() while a preempted lower-priority producer (SCHED_OTHER) is mid-push, causing the consumer to spin with the uring_lock held. The fix disables preemption during the push operation to close this window.

Affected products

  • Linux kernel io_uring subsystem

Timeline

  • 2026-11-03: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.