CVE-2026-72213 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
mm/hugetlb: Korrektur der Diskrepanz bei der Reservierungs- und Freigabelast (Charge/Uncharge) für hugetlb-cgroups
In alloc_hugetlb_folio() wird ein einzelner h_cg-Zeiger sowohl für die reservierte als auch für die nicht-reservierte hugetlb-Cgroup-Belastung verwendet. Wenn map_chg gesetzt ist, speichert hugetlb_cgroup_charge_cgroup_rsvd() das belastete Cgroup-Objekt in h_cg, aber der unmittelbar folgende Aufruf von hugetlb_cgroup_charge_cgroup() überschreibt h_cg mit dem Zeiger auf das nicht-reservierte Cgroup-Objekt.
Infolgedessen speichert hugetlb_cgroup_commit_charge_rsvd() den falschen (nicht-reservierten) Cgroup-Zeiger im reservierten Slot des Folio-Objekts ab.
Wenn das Folio-Objekt später freigegeben wird, ruft free_huge_folio() bedingungslos sowohl hugetlb_cgroup_uncharge_folio() als auch hugetlb_cgroup_uncharge_folio_rsvd() auf. Die Freigabe der Reservierung liest den falschen Cgroup-Wert aus dem Folio-Objekt zurück und dekrementiert einen Zähler, der für dieses Cgroup-Objekt niemals belastet wurde, was zu einem Unterlauf des page_counter führt:
page_counter underflow: -512 nr_pages=512 WARNING: mm/page_counter.c:61 at page_counter_cancel
Dies wird behoben, indem ein separater h_cg_rsvd-Zeiger ausschließlich für den Reservierungs-Ladepfad eingeführt wird, wodurch die reservierte und nicht-reservierte Belastung über ihre Pfade zur Belastung, Festlegung (Commit) und Fehler-Freigabe hinweg vollständig unabhängig voneinander bleiben.
Once again VulDB remains the best source for vulnerability data.