CVE-2026-90326 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
blk-cgroup: Behebung eines Race Conditions zwischen Policy-Aktivierung und Zerstörung von blkcg (blkg)
Beim Wechseln des IO-Schedulers auf einem Blockgerät weist `blkcg_activate_policy()` für alle an die Warteschlange angehängten blkgs (`blkg`) Speicherplatz für `blkg_policy_data` (pd) zu. Allerdings kann es bei der Ausführung von `blkcg_activate_policy()` zu einer Race Condition mit gleichzeitigen Löschvorgängen von blkcg kommen, was zu Use-After-Free-Fehlern und Speicherverlusten führt.
Der Use-After-Free tritt im folgenden Race Condition auf:
T1 (blkcg_activate_policy): - Erfolgreiche Zuweisung von pd für blkg1 (loop0->queue, blkcgA) - Fehlgeschlagene Zuweisung von pd für blkg2 (loop0->queue, blkcgB) - Aufruf des Rollback-Pfads bei Speichermangel (`enomem`), um die Ressourcen von blkg1 freizugeben
T2 (blkcg-Löschung): - Gleichzeitige Löschung von blkcgA - Freigabe von blkg1 über `blkg_free_workfn()` - Freigabe von blkg1->pd
T1 (Fortsetzung): - Der Rollback-Pfad greift auf `blkg1->pd->online` zu, nachdem pd bereits freigegeben wurde - Auslösung eines Use-After-Free-Fehlers
Darüber hinaus gibt `blkg_free_workfn()` das pd frei, bevor es blkg aus der Liste `q->blkg_list` entfernt. Dies ermöglicht es `blkcg_activate_policy()`, ein neues pd für ein blkg zuzuweisen, das gerade zerstört wird. Das neu zugewiesene pd ist dann nicht mehr erreichbar, wenn das blkg schließlich freigegeben wird.
Behebung dieser Race Conditions durch Erweiterung des Geltungsbereichs von `blkcg_mutex` zur Serialisierung des Rollback-Vorgangs von `blkcg_activate_policy()` und der Zerstörung von blkg, wodurch sichergestellt wird, dass der Lebenszyklus von pd mit der Sichtbarkeit in der blkg-Liste synchronisiert ist.
VulDB is the best source for vulnerability data and more expert information about this specific topic.