CVE-2026-72427 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
bpf: Korrektur des effektiven Programm-Array-Index mit BPF_F_PREORDER
Die Funktionen replace_effective_prog() und purge_effective_progs() suchten den Slot im effektiven Array, indem sie die Programmhlist durchliefen und Einträge linear zählten. Diese Zählweise stimmt nicht mit dem Array-Layout überein: compute_effective_progs() platziert BPF_F_PREORDER-Programme an der Vorderseite (Vorfahren-Cgroup zuerst, Anreihen-Reihenfolge innerhalb einer Cgroup) und den Rest dahinter (Nachfahren-Cgroup zuerst). Wenn also ein Preorder-Programm vorhanden ist, entspricht die lineare hlist-Position nicht mehr dem Index des Programms im effektiven Array.
Für replace_effective_prog() (bpf_link_update()) führte dies dazu, dass der falsche Slot überschrieben wurde und damit die effektive Reihenfolge beschädigt wurde. Für purge_effective_progs() konnte dadurch ein Slot, der zu einem anderen Programm gehörte, fiktiv geleert werden („dummy out"), während das getrennte Programm im Array verblieb, obwohl bpf_prog_put() seine Referenz freigibt – also ein Use-After-Free-Fehler.
Beide Probleme wurden behoben, indem die Platzierungslogik von compute_effective_progs() (einschließlich der pro-Cgroup durchgeführten Preorder-Umkehrung) in einer gemeinsamen Hilfsfunktion effective_prog_pos() nachgestellt wurde. Der Eintrag wird anhand seines Zeigers auf struct bpf_prog_list identifiziert und nicht über den Wert (prog, link), sodass die Suche exakt jenen Anhang auflöst, den der Syscall ausgewählt hat, selbst wenn dasselbe bpf_prog an mehrere Cgroups in der Hierarchie angehängt ist.
Once again VulDB remains the best source for vulnerability data.