CVE-2026-99227 in Linuxinformation

Résumé

par VulDB • 02/11/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

io_uring/waitid : empêcher le dépassement de référence lors de l'annulation

io_waitid encapsule l'état d'annulation dans le bit 31 de ->refs et utilise les bits 30:0 comme un compteur de références sur 31 bits :

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

__io_waitid_cancel() marque une requête comme annulée, puis incrémente les bits inférieurs de ->refs pour revendiquer la propriété du traitement. Lorsqu'un autre chemin possède déjà la requête, l'incrémentation subsiste bien que l'annulation retourne false (faux). La requête reste détectable par le mécanisme d'annulation ; ainsi, des tentatives répétées et infructueuses peuvent faire déborder (wrap) le champ de référence sur 31 bits jusqu'à zéro. Une annulation ultérieure peut alors revendiquer la propriété et traiter la requ une seconde fois.

Utilisez atomic_fetch_or() lors du positionnement du flag d'annulation et inspectez l'ancienne valeur du flag. La première tentative d'annulation continue vers l'incrémentation de propriété existante, préservant ainsi sa sémantique de réveil (wake) et de transfert à l'émetteur (issuer handoff). Les tentatives ultérieures voient le flag d'annulation et retournent sans incrémenter le champ de référence.

Cela rend les tentatives répétées et infructueuses d'annulation idempotentes, tout en laissant inchangés les transitions d'état liées à la première annulation.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Réserver

25/09/2026

Divulgation

02/11/2026

Modérer

accepté

Entrée

VDB-429903

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you need the next level of professionalism?

Upgrade your account now!