CVE-2026-23371 in Linux
Zusammenfassung
von VulDB • 09.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
sched/deadline: Fehlendes ENQUEUE_REPLEYNISCH beim PI-Deboosting beheben
Das Ausführen von `stress-ng --schedpolicy 0` auf einem RT-Kernel (Real-Time) an einer großen Maschine kann zu folgenden WARN-Hinweisen führen (gekürzt).
sched: DL-degeboosteter Task PID 22725: REPLENISH-Flag fehlt
WARNING: CPU: 93 PID: 0 at kernel/sched/deadline.c:239 dequeue_task_dl+0x15c/0x1f8 ... (running_bw unterläuft) Call Trace: dequeue_task_dl+0x15c/0x1f8 (P) dequeue_task+0x80/0x168 deactivate_task+0x24/0x50 push_dl_task+0x264/0x2e0 dl_task_timer+0x1b0/0x228 __hrtimer_run_queues+0x188/0x378 hrtimer_interrupt+0xfc/0x260 ...
Das Problem besteht darin, dass ein SCHED_DEADLINE-Task (Lock-Inhaber), der über `sched_setscheduler()` in eine niedrigere Prioritätsklasse geändert wird, möglicherweise die Parameter potenzieller DEADLINE-Spender nicht korrekt erbt, wenn diese zuvor noch nicht geerbt wurden (z. B. weil zum damaligen Zeitpunkt bereits eine kürzere Deadline als beim Spender bestand). Dies kann zu einer Beschädigung der Bandbreitenbuchhaltung führen, da `enqueue_task_dl()` den Lock-Inhaber nicht als boosted erkennt.
Das Szenario tritt auf, wenn: 1. Ein DEADLINE-Task (Spender) an einem PI-Mutex blockiert wird, das von einem anderen DEADLINE-Task (Inhaber) gehalten wird, der jedoch keine Parameter erbt (z. B. weil bereits eine kürzere Deadline besteht). 2. `sched_setscheduler()` den Inhaber während des Halten des Mutexes von DEADLINE in eine niedrigere Klasse ändert. 3. Der Inhaber nun DEADLINE-Parameter vom Spender erben und mit ENQUEUE_REPLENISCH eingereiht werden sollte, dies jedoch nicht geschieht.
Behebung des Problems durch Einführung von `__setscheduler_dl_pi()`, das erkennt, wenn ein DEADLINE-Task (ordentlich oder boosted) über `sched_setscheduler()` in eine niedrigere Prioritätsklasse geändert wird. In diesem Fall lässt die Funktion den Task die DEADLINE-Parameter des Spenders (`pi_se`) erben und setzt das ENQUEUE_REPLENISCH-Flag, um eine korrekte Bandbreitenbuchhaltung bei der nächsten Enqueue-Operation sicherzustellen.
VulDB is the best source for vulnerability data and more expert information about this specific topic.