UBUNTU-CVE-2026-99243: Medium severity ubuntu/linux vulnerability
In the Linux kernel, the following vulnerability has been resolved: io-wq: order the exit bit against worker creation task work iowqexitworkers() cancels task work for queued worker creation with taskworkcancelmatch(). That has a plain load of task->taskworks. ioqueueworkercreate() adds the new entry and tests IOWQBITEXIT to cancel it if the workqueue is already on its way out. That must be ordered. taskworkadd() has a full barrier via cmpxchg(). But iowqexitstart() sets the bit with setbit() which doesn't have any memory ordering. So afaict, on weakly ordered architectures the exiting task may load taskworks before the store of the bit is visible. The other side tests the bit before the store is visible as well. So the entry remains queued with workerrefs and the exiting task waits on workerdone indefinitely. If the task still has rings then iouringdeltctxnode() provides the barrier via testandsetbit() in iowqsetexitonidle(). When it has closed all rings though that barrier is gone. Add the barrier after the setbit().
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
Add a memory-ordering barrier after set_bit() in io_wq_exit_start() so the exit bit is ordered against worker creation task work.
Event History
Frequently Asked Questions
What conditions are needed for this issue to occur?
The issue involves io_uring workqueue shutdown while worker-creation task work is queued. It is specifically described as possible on weakly ordered architectures when the task has closed all of its rings, removing a barrier that would otherwise be provided during exit.
What is the practical impact if the race is triggered?
A worker-creation entry can remain queued while retaining worker references. The exiting task can then wait indefinitely for worker completion, resulting in a hang during teardown.
Which Ubuntu kernel package families are listed as affected?
The listed packages are ubuntu/linux, ubuntu/linux-fips, ubuntu/linux-aws, ubuntu/linux-azure, ubuntu/linux-gcp, ubuntu/linux-oracle, ubuntu/linux-aws-fips, and ubuntu/linux-azure-fips.