CVE-2026-97923 in Linux
Zusammenfassung
von VulDB • 25.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
tracing: Freigabe der VAR_REF-Referenz im Histogramm bei fehlgeschlagener Initialisierung
create_var_ref() alloziert ein hist_field für VAR_REF und ruft anschließend init_var_ref() auf, um es zu füllen. Wenn dies fehlschlägt, wird das Feld nicht freigegeben (Memory Leak).
Das Commit 656fe2ba85e8 („tracing: Use hist trigger's var_ref array to destroy var_refs“) bewirkte, dass destroy_hist_field() für HIST_FIELD_FL_VAR_REF vorzeitig zurückkehrt, da VAR-Referenzen stattdessen durch Durchlaufen des var_refs[]-Arrays des Triggers freigegeben werden. create_var_ref() fügt das Feld nur dann zu diesem Array hinzu, wenn init_var_ref() erfolgreich war; auf diesem Pfad befindet sich das Feld an keinem der beiden Orte und wird daher von nichts freigegeben. Der Aufruf war korrekt, als er geschrieben wurde, bevor VAR-Referenzen aus destroy_hist_field() entfernt wurden.
init_var_ref() kann es ebenfalls nicht freigeben. Da der Aufrufer die Eigentümerschaft am Feld besitzt, hebt init_var_ref() nur seine eigenen String-Allokationen auf und lässt das Feld unverändert. Eine Freigabe dort würde dazu führen, dass create_var_ref() freigegebenen Speicher an destroy_hist_field() übergibt, welches dessen Flags liest.
Es wird __destroy_hist_field() aufgerufen, was das Feld freigibt, ohne die Flags zu konsultieren.
VulDB is the best source for vulnerability data and more expert information about this specific topic.