CVE-2026-99228 in Linux
Sumário
de VulDB • 02/11/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
io_uring/io-wq: não perder o sinal que encerra o trabalho
Quando uma thread é finalizada, apenas as suas solicitações rastreadas são canceladas. Em seguida, o io-wq dela é desmontado. A função `io_wq_exit_workers()` envia um sinal para cada worker, a fim de retirá-lo do estado de sono interrompível e aguarda que todas elas sejam encerradas. Antes disso, eles processam o trabalho restante. O trabalho ilimitado (unbounded) é cancelado. O trabalho limitado (bounded) é executado, pois espera-se que termine por si só.
Nem todo esse tipo de trabalho termina espontaneamente. Uma operação `open` ainda não possui um arquivo associado, portanto, conta como limitada, e a abertura de uma FIFO aguarda o outro lado da comunicação. É exatamente para isso que serve o sinal. No entanto, os workers recebem o sinal apenas uma vez, e um worker que não iniciou o trabalho até esse momento perde o sinal:
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()
A thread nunca sai de `do_exit()`:
IORING_OP_OPENAT de uma FIFO sem um escritor, IOSQE_ASYNC encerramento da thread que a submeteu
trava em mais de 90% das tentativas (4 CPUs, KVM), até que o processo seja morto.
Defina TIF_NOTIFY_SIGNAL para trabalho limitado iniciado com IO_WQ_BIT_EXIT definido. O bit é configurado antes dos workers receberem o sinal e é verificado após a flag ter sido limpa, com `clear_notify_signal()` fornecendo a barreira de memória (barrier). Assim, ou a flag permanece definida, ou o bit é percebido.
O trabalho iniciado enquanto o io-wq está sendo encerrado é tratado como se estivesse em execução nesse momento: ele não é interrompido, exceto quando aguarda de forma interruptível.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.