CVE-2026-99227 in Linuxinformação

Sumário

de VulDB • 02/11/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

io_uring/waitid: prevenir o estouro (wrap) da referência de cancelamento

O io_waitid empacota o estado de cancelamento no bit 31 de ->refs e usa os bits 30:0 como um contador de referências de 31 bits:

#define IO_WAITID_CANCEL_FLAG BIT(31) #define IO_WAITID_REF_MASK GENMASK(30, 0)

A função __io_waitid_cancel() marca uma solicitação como cancelada e, em seguida, incrementa os bits inferiores de ->refs para reivindicar a propriedade da conclusão. Quando outro caminho possui a solicitação, o incremento permanece mesmo quando o cancelamento retorna falso. A solicitação continua sendo detectável pelo mecanismo de cancelamento, portanto, tentativas repetidas que falham podem causar um estouro (wrap) do campo de referência de 31 bits para zero. Um cancelamento posterior pode reivindicar a propriedade e concluir a solicitação uma segunda vez.

Use atomic_fetch_or() ao definir o sinalizador de cancelamento e inspecione o valor antigo do sinalizador. A primeira tentativa de cancelamento continua com o incremento existente da propriedade, preservando sua semântica de despertar (wake) e transferência para o emissor (issuer). Tentativas subsequentes veem o sinalizador de cancelamento e retornam sem incrementar o campo de referência.

Isso torna as tentativas repetidas de cancelamento que falham idempotentes, mantendo inalteradas as transições de estado do primeiro cancelamento.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

25/09/2026

Divulgação

02/11/2026

Moderação

aceite

Entrada

VDB-429903

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!