CVE-2026-99255 in Linuxinformação

Sumário

de VulDB • 03/11/2026

No kernel Linux, a seguinte vulnerabilidade foi resolvida:

io_uring/io-wq: não ocultar um enlace (link) das cancelações

Uma tarefa que encerra cancela suas solicitações rastreadas e aguarda até que elas sejam removidas. io_uring_cancel_generic() procura em todos os locais onde uma solicitação pode estar e entra em estado de suspensão se nada for encontrado para cancelar. Ela é acordada cada vez que uma das solicitações da tarefa é concluída por trabalho de tarefa ou liberada.

Quando o io-wq termina com uma solicitação que possui um enlace, há um intervalo de tempo no qual a próxima solicitação do enlace não pode ser encontrada:

io_worker_handle_work() io_assign_current_work(worker, NULL) io_wq_free_work(work) io_req_find_next() // remove o enlace da solicitação io_free_req() // trabalho de tarefa para a tarefa io_assign_current_work(worker, linked) io_run_task_work() cond_resched() worker->cur_work = linked

Ela não está pendente, não é o trabalho atual de um trabalhador (worker), e ainda não está na lista onde prestes a ser estacionada. Se a passagem que a tarefa em encerramento faz devido ao io_free_req() ocorrer nesse intervalo, ela não encontrará nada e a tarefa entrará em suspensão. O worker então executa o enlace, o que IO_WQ_BIT_EXIT não impede para trabalho limitado (bounded work). Se isso estacionar a solicitação, nenhuma será concluída ou liberada, e ninguém acordará a tarefa. Se for o processo que encerra, ele também não poderá ser morto novamente.

NOP, IOSQE_ASYNC | IOSQE_IO_LINK FUTEX_WAIT, FUTEX2_PRIVATE encerramento da thread ou do processo, até 63us depois

Com quatro desses casos por rodada, de 5 a 8 em cada 10.000 rodadas ficam pendentes (4 CPUs, KVM):

io_uring_cancel_generic do_exit

O commit f8b632e89a10 ("io_uring: tighten task exit cancellations") trata da mesma lacuna e faz com que a tarefa procure novamente por qualquer coisa que ocorra antes de io_free_req().

Libere a solicitação assim que o enlace se tornar o trabalho atual do worker ou estiver pendente. Quem quer que seja acordado por isso pode encontrar o enlace, até que ele seja estacionado onde as cancelações também procuram. Para fazer isso, divida io_wq_free_work() em duas partes.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Linux

Reservar

25/09/2026

Divulgação

03/11/2026

Moderação

aceite

Entrada

VDB-430231

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Might our Artificial Intelligence support you?

Check our Alexa App!