CVE-2026-99268
Received Received - Intake

io_uring Local Task Work Wakeup Race Condition

Vulnerability report for CVE-2026-99268, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-03

Last updated on: 2026-11-03

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: io_uring: wake ring pollers for local task_work With IORING_SETUP_DEFER_TASKRUN completions are queued as local work, and only become CQEs when the submitter enters the kernel to wait for events. For an application that finds out via poll() or epoll on the ring fd when it is time to do that, io_uring_poll() reports EPOLLIN if local work is pending. That only helps if the work is there at the time of the call. When DEFER_TASKRUN was added, io_req_local_work_add() did io_cqring_wake(), which took care of tasks sleeping in poll() as well. Then polling got a wait queue of its own, ->poll_wq, and the wake up in io_req_local_work_add() was replaced by waking the submitter directly. Since then ->poll_wq is only woken when CQEs are committed, which for such a ring is done by the very task that is waiting to be told to: submitter completion poll(ring_fd) io_uring_poll() // nothing yet schedule() io_req_local_work_add() // ->cq_wait_nr: nobody waits // sleeps on Wake ->poll_wq when the first entry is put on the work list. Like for the eventfd, that must not be done right away if the work is queued from a wake up handler, as the chain of wake ups could get back to the wait queue whose lock is held. Use an RCU callback in that case, with a reference to the ring.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-03
Last Modified
2026-11-03
Generated
2026-11-03
AI Q&A
2026-11-03
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 5 associated CPEs
Vendor Product Version / Range
Linux Linux 130bd686d9be918e4cc8c03abf5794ba2d860502
Linux Linux 130bd686d9be918e4cc8c03abf5794ba2d860502
Linux Linux 130bd686d9be918e4cc8c03abf5794ba2d860502
Linux Linux 130bd686d9be918e4cc8c03abf5794ba2d860502
Linux Linux 6.3

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves io_uring, a high-performance I/O interface. When IORING_SETUP_DEFER_TASKRUN is used, completions are queued as local work and only become completion queue events (CQEs) when the submitter enters the kernel to wait for events. The issue arises because io_uring_poll() only reports EPOLLIN if local work is pending at the time of the call. Previously, io_req_local_work_add() would wake ring pollers, but this was changed to wake the submitter directly. Now, the poll_wq wait queue is only woken when CQEs are committed, which may not happen if the task is waiting to be notified.

Detection Guidance

This vulnerability is specific to the Linux kernel's io_uring subsystem and may not have direct detection commands. Monitor kernel logs for io_uring-related errors or unusual behavior. Check if your kernel version includes the fix by running uname -r and comparing it to patched versions.

Impact Analysis

This vulnerability could lead to delayed or missed notifications for I/O operations in applications using io_uring with IORING_SETUP_DEFER_TASKRUN. This may cause applications to hang or behave unpredictably if they rely on timely I/O completion notifications via poll() or epoll().

Mitigation Strategies

Update your Linux kernel to the latest stable version that includes the fix for CVE-2026-99268. If immediate patching is not possible, consider disabling io_uring features temporarily by setting the kernel parameter io_uring=0 at boot time.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-99268. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...