CVE-2026-99130 in Linuxinfo

Zusammenfassung

von VulDB • 28.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

io_uring/cancel: Kein Endlosschleife bei lokaler Arbeit, die die Aufgabe nicht ausführen kann

io_uring_cancel_generic() verweigert das Schlafen, solange für den tctx der beendenden Aufgabe lokale Arbeiten in einer beliebigen Ring-Instanz anstehen. Es wird davon ausgegangen, dass die Aufgabe der Absender dieses Rings ist und dass der nächste Durchlauf von io_uring_try_cancel_requests() diese Arbeit ausführt. Dies gilt jedoch nicht für einen Ring, der beim Erhalt des tctx-Knotens durch die Aufgabe noch den Status IORING_SETUP_R_DISABLED hatte (z. B. nach io_uring_create() oder io_ringfd_register()). Der Absender wird später über IORING_REGISTER_ENABLE_RINGS festgelegt, möglicherweise von einer anderen Aufgabe, und nur der Absender darf lokale Arbeit auf einem Ring mit dem Flag IORING_SETUP_DEFER_TASKRUN ausführen. Für die beendende Aufgabe bleibt die Arbeit daher dauerhaft anstehend; die Schleife erreicht niemals schedule(), und die Aufgabe löst einmalig WARN_ON_ONCE() aus und verbleibt anschließend in einer Endlosschleife (Spin) innerhalb von do_exit().

Ein unprivilegierter Benutzer kann dies nach Belieben einrichten, indem er einen deaktivierten Ring erstellt, dessen Aktivierung durch ein untergeordnetes Prozess durchgeführt wird, das sich dann beendet. Anschließend werden Nachrichten über IORING_OP_MSG_RING an den Ring gesendet und die Aufgabe mit einer noch ausstehenden Anfrage beendet, die nur vom Kindprozess abgeschlossen werden kann. Der beendende Thread verbraucht dabei CPU-Zyklen, bis der Kindprozess ausgeführt oder beendet wird. Bei gesetztem Flag panic_on_warn führt das WARN zu einem Kernel-Panic.

Die Behebung erfolgt durch das Überspringen des Sleep-Vorgangs nur dann, wenn io_allowed_defer_tw_run() es der Aufgabe erlaubt, die Arbeit auszuführen. Dies ist sinnvoll, da Aufgaben, die keine Arbeit ausführen können, auch keine ihrer Anfragen abschließen können; daher geht beim Schlafen nichts verloren. Das WARN_ON_ONCE() wird entfernt, da das Übergeben eines deaktivierten Rings an einen anderen Thread ein unterstütztes Szenario und kein Fehlerzustand ist.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

28.10.2026

Moderieren

akzeptiert

Eintrag

VDB-427913

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!