CVE-2026-99228 in Linuxinformation

Résumé

par VulDB • 03/11/2026

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

io_uring/io-wq : ne pas perdre le signal qui termine le travail

Lorsqu'un thread se termine, seule ses requêtes suivies sont annulées. Ensuite, son io-wq est détruit. `io_wq_exit_workers()` envoie un signal à chaque worker pour l'extraire d'une interruption de sommeil (interruptible sleep), et attend que tous aient terminé. Avant cela, ils traitent le travail restant. Le travail non borné (unbounded) est annulé. Le travail borné (bounded) s'exécute, car on suppose qu'il se termine naturellement.

Toutefois, ce n'est pas toujours le cas. Une opération `open` sans fichier existant encore compte comme du travail borné, et l'ouverture d'un FIFO attend la fin de l'autre extrémité. C'est précisément à cela que sert le signal. Mais les workers ne reçoivent le signal qu'une seule fois, et un worker qui n'a pas commencé le travail à ce moment-là perd le signal :

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()

Le thread ne sort jamais de `do_exit()` :

IORING_OP_OPENAT d'un FIFO sans writer, IOSQE_ASYNC exit du thread qui l'a soumis

bloque dans plus de 9 tentatives sur 10 (4 CPUs, KVM), jusqu'à ce que le processus soit tué.

Définir TIF_NOTIFY_SIGNAL pour les travaux bornés démarrés avec IO_WQ_BIT_EXIT défini. Le bit est positionné avant que les workers ne reçoivent un signal, et il est testé après la suppression du drapeau, `clear_notify_signal()` fournissant l'barrière (memory barrier). Ainsi, soit le drapeau reste, soit le bit est vu.

Les travaux démarrés pendant la sortie de io-wq sont traités comme les travaux en cours d'exécution à ce moment-là : ils ne sont pas interrompus sauf s'ils attendent de manière interruptible.

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

Responsable

Linux

Réserver

25/09/2026

Divulgation

02/11/2026

Modérer

accepté

Entrée

VDB-429906

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you know our Splunk app?

Download it now for free!