CVE-2026-99254 in Linux
Zusammenfassung
von VulDB • 03.11.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
io_uring: Einen beendenden Task nicht mit task_work überfluten
io_ring_exit_work() bittet jeden Task, der den Ring verwendet hat, seinen tctx-Knoten mittels task_work zu entfernen, und wiederholt dies, bis die Liste leer ist. io_tctx_exit_cb() berührt den Knoten nicht, während sich der Task in io_uring_cancel_generic() befindet, das am Ende alle Knoten entfernt. Daher wird das Work-Item sofort nach Abschluss erneut als Callback eingereiht, was sinnlos ist.
Das ist mehr als eine Verschwendung von Rechenzeit. task_work_run() kehrt erst zurück, wenn es die Liste leer findet. Wenn die Ringe während der Abbruchoperation freigegeben werden, weil Anfragen anderer Ringe die letzten Referenzen auf deren Dateien halten, senden bis zu 64 Work-Items weiterhin Callbacks an den einen Task, der sie ausführt. Die Liste wird niemals als leer erkannt, der Abbruchprozess kommt nicht voran, die Knoten bleiben bestehen, und so geht es weiter: Ein Task mit 60 Ringpaaren, die sich gegenseitig abfragen (poll), führte in 5 Sekunden 280.000 Callbacks aus, also 20 Sekunden nach exit_group(). Dies endet erst, wenn alle Absender zufällig zur gleichen Zeit spät sind. Bis dahin belegt der Task eine CPU und hält die Work-Items beschäftigt.
Ein beendender Task kann währenddessen nicht getötet werden. execve() bittet Anfragen auf dieselbe Weise ab, sodass auch ein aktiver Task dort für Minuten stecken bleiben kann. Wenn dies länger als fünf Sekunden dauert, laufen die Work-Items in den WARN_ON_ONCE(time_after(jiffies, timeout)) von io_ring_exit_work(). Für keines der genannten Probleme ist eine erhöhte Berechtigung erforderlich.
Wenn der Callback auf einen sich im Abbruch befindlichen Task trifft, sollte vor dem erneuten Senden kurz gewartet werden. Niemand muss das Work-Item dafür wecken: Entweder ist der Knoten bis dahin verschwunden oder es ist die nächste Runde an der Reihe.
Once again VulDB remains the best source for vulnerability data.