Page generated: 08 Nov 2026, 11:19 UTC
← Dashboard

CVE-2026-99253

In the Linux kernel, the following vulnerability has been resolved: io_uring/cancel: rearm local work wake up before sleep io_uring_try_cancel_requests() sets ->cq_wait_nr to 1 so that the next io_req_local_work_add() wakes the cancelling task. The add that takes the count to zer…

Read full description
In the Linux kernel, the following vulnerability has been resolved: io_uring/cancel: rearm local work wake up before sleep io_uring_try_cancel_requests() sets ->cq_wait_nr to 1 so that the next io_req_local_work_add() wakes the cancelling task. The add that takes the count to zero is the only one that wakes, later ones see a count <= 0 and return. io_uring_cancel_generic() however only becomes TASK_INTERRUPTIBLE much later, so the one wake up can be spent on a running task. That is fine as long as the entry of that add is still queued, as the io_local_work_pending() check then skips the sleep. It is not if the add was delayed after queueing its entry: CPU0 (submitter in exec or exit) CPU1 (io_req_local_work_add) mpscq_push(req A) io_uring_try_cancel_requests() io_run_local_work() // runs req A io_uring_try_cancel_requests() atomic_set(&ctx->cq_wait_nr, 1) atomic_read(&ctx->cq_wait_nr) == 1 count taken, wake_up_state() // task is running, no-op prepare_to_wait(TASK_INTERRUPTIBLE) io_local_work_pending() == false schedule() mpscq_push(req B) cq_wait_nr <= 0, return Only the sleeping task can run req B, so it is stuck in execve() until a signal happens to wake it. An exiting task doesn't even get that. Arm the count again once the task state is set and before the work list is checked, for the rings whose local work this task is the one to run.
CVSS — (—)

Attention and evidence

HYPE SCORE
0.0/10
REALITY · THREAT PRIORITY
0.0–3.5/10
Missing inputs: range of priority

Evidence confidence: Insufficient evidence

Why this priority?
  • Fresh EPSS: 0.18%: +0.00

Technical severity unavailable

General review priority, not probability, victim count or asset-specific risk. A range covers missing CVSS/EPSS inputs within the current evidence state.

Based on public data to date.

Hype components

Headline sample (25%)
0/100
Press, 30 days (60%)
0/100
Grounded branding (15%)
0/100
HYPE TOTAL0/100

Sources and documents

No source documents yet.

Score evolution

● Hype   ● Reality

First record: hype 0.0 · reality 0.0 (2026-11-04 13:51). The curve appears once the score changes.

Public exploit evidence

0

Public exploit entries / repo candidates

Evidence context and dated references

Reality is general threat/review priority, combining observed exploitation, CVSS severity and fresh EPSS. Evidence confidence is separate. This is not calibrated risk, a victim count or an asset-specific assessment. A range reflects missing numeric inputs. Published 4 days ago. Exploitation evidence usually takes weeks to show up: a low reality score can mean there is no data yet, not that the flaw is mild.

Evidence in context

Confidence in exploitation evidence
Insufficient evidence
Priority basis
Exploitation in attacks unconfirmed; severity unavailable; EPSS 0.2%
Attention, last 30 days
0 distinct story titles; 0 press documents; 0 publisher domains.
Technical potential
Not available as a validated CVSS vector..
Observed activity
No exploitation observation is recorded.
Known scale
Not quantified.
Evidence confidence basis
Insufficient evidence

Score evaluated: 2026-11-05 14:00:34.806270+00:00 · EPSS snapshot: 2026-11-05T12:03:04Z

Source event timeline
Published
03 Nov 2026, 11:20
Score calculated
05 Nov 2026, 14:00