CVE-2026-99228
Received Received - Intake

Linux Kernel io_uring Work Queue Signal Handling Flaw

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

Publication date: 2026-11-02

Last updated on: 2026-11-02

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: io_uring/io-wq: don't lose the signal that ends work When a thread exits, only its tracked requests are cancelled. Then its io-wq is torn down. io_wq_exit_workers() signals every worker, to get it out of an interruptible sleep, and waits for all of them to exit. Before they do, they go through the work that is left. Unbounded work is cancelled. Bounded work is run, as it is expected to end by itself. Not all of it does. An open has no file yet, so it counts as bounded, and the open of a FIFO waits for the other end. That is what the signal is for. But the workers are signalled once, and a worker that hasn't started the work by then loses the signal: io_wq_exit_workers() io_worker_handle_work() io_wq_worker_wake() set TIF_NOTIFY_SIGNAL io_assign_current_work() io_run_task_work() clear TIF_NOTIFY_SIGNAL io_wq_submit_work() fifo_open() wait_for_partner() wait_for_completion_timeout() The thread never gets out of do_exit(): IORING_OP_OPENAT of a FIFO without a writer, IOSQE_ASYNC exit of the thread that has submitted it hangs in more than 9 of 10 attempts (4 CPUs, KVM), until the process is killed. Set TIF_NOTIFY_SIGNAL for bounded work that is started with IO_WQ_BIT_EXIT set. The bit is set before the workers are signalled, and it is tested after the flag has been cleared, with clear_notify_signal() providing the barrier. So either the flag stays, or the bit is seen. Work that is started while the io-wq exits is treated like work that is being run at that time: it isn't interrupted unless it waits interruptibly.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 6 associated CPEs
Vendor Product Version / Range
Linux Linux afcc4015d1bf5659b8c722aff679e9b8c41ee156
Linux Linux afcc4015d1bf5659b8c722aff679e9b8c41ee156
Linux Linux afcc4015d1bf5659b8c722aff679e9b8c41ee156
Linux Linux afcc4015d1bf5659b8c722aff679e9b8c41ee156
Linux Linux afcc4015d1bf5659b8c722aff679e9b8c41ee156
Linux Linux 5.12

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 a race condition in the io_uring subsystem. When a thread exits, it signals workers to stop but may lose the signal for certain operations like opening a FIFO without a writer. This causes the thread to hang indefinitely during exit, requiring a forced kill.

Detection Guidance

This vulnerability is specific to the Linux kernel's io_uring/io-wq subsystem and may cause system hangs during thread exits involving FIFO operations. Detection requires checking kernel logs for hangs during process termination or io_uring-related operations. Monitor for processes stuck in 'D' state (uninterruptible sleep) using commands like 'ps aux | grep D' or 'top'. Check kernel logs with 'dmesg | grep -i io_uring' or 'journalctl -k | grep -i hang'.

Impact Analysis

This vulnerability can cause system hangs when threads using io_uring exit, particularly during operations like opening FIFOs without writers. This may lead to unresponsive processes, requiring manual intervention to terminate them.

Mitigation Strategies

Apply the latest Linux kernel patches addressing this issue. If immediate patching is not possible, avoid using io_uring for FIFO operations or disable io_uring entirely by setting 'io_uring=off' in kernel boot parameters. Monitor system stability and terminate suspicious processes promptly if hangs occur.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-99228. 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...