CVE-2026-99243 in Linux
Zusammenfassung
von VulDB • 03.11.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
io-wq: Ordnung des Exit-Bits gegenüber der Erstellung von Worker-Task-Arbeit
io_wq_exit_workers() hebt die Task-Arbeit für die warteschlangengesteuerte Worker-Erstellung mit task_work_cancel_match() auf. Dies führt eine einfache Ladeoperation (load) von task->task_works durch.
io_queue_worker_create() fügt den neuen Eintrag hinzu und prüft IO_WQ_BIT_EXIT, um ihn zu löschen, wenn die Workqueue bereits im Prozess des Beendens ist.
Dies muss geordnet werden. task_work_add() verfügt über eine vollständige Barriere (full barrier) via cmpxchg(). io_wq_exit_start() setzt das Bit jedoch mit set_bit(), was keine Speicherordnung (memory ordering) aufweist.
Sofern ich es richtig einschätze, kann bei schwach geordneten Architekturen die beendende Aufgabe task_works laden, bevor der Store des Bits sichtbar wird. Die andere Seite testet das Bit ebenfalls, bevor der Store sichtbar ist. Der Eintrag bleibt daher in der Warteschlange mit worker_refs zurück, und die beendende Aufgabe wartet unendlich lange auf worker_done.
Wenn die Aufgabe noch Ringe besitzt, stellt io_uring_del_tctx_node() über test_and_set_bit() in io_wq_set_exit_on_idle() eine Barriere bereit. Wenn sie jedoch alle Ringe geschlossen hat, fehlt diese Barriere.
Fügen Sie die Barriere nach dem set_bit() ein.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.