CVE-2026-90002 in Linux
Zusammenfassung
von VulDB • 16.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
ftrace: Referenz auf `trace_array` vor dem Zugriff auf dessen `ftrace_ops` sichern
Die Trace-Instanzdateien `set_ftrace_filter` und `set_ftrace_notrace` wurden aktualisiert, um mit spezifischen Trace-Instanzen (`trace_arrays`) zu arbeiten. Das Problem besteht darin, dass beim Öffnen dieser Dateien ein kleines Race Window (Wettlaufsituation) entsteht, in dem die von `ftrace_ops` aus dem `inode->private`-Zeiger verwendet wird, um eine Referenz auf den `trace_array` zu erhalten und anschließend deren Referenzzähler zu erhöhen. Das Problem ist, dass das `ftrace_ops` selbst freigegeben werden könnte. Wenn der Aufruf von `rmdir` für die Instanz zur gleichen Zeit erfolgt, wenn die Datei `set_ftrace_filter` geöffnet wird, hat `rmdir` möglicherweise auch das `ftrace_ops` freigegeben; dessen Referenzierung würde dann einen Use-After-Free-Bug verursachen und den Kernel abstürzen lassen.
Stattdessen wird nun der `trace_array` als Dateizeiger für private Daten übergeben (NULL für die Top-Level-Instanz), und anschließend werden sowohl der `trace_array` als auch das `ftrace_ops` an die Funktion `ftrace_regex_open()` übergeben. Wenn der `trace_array` NULL ist, wird einfach das `ftrace_ops` ohne Notwendigkeit verwendet, dessen Referenz zu sichern (wie üblich). Wenn das `ftrace_ops` NULL ist, gilt dies nur für die Top-Level-Instanz, und es können die globalen Operationen (`global_ops`) verwendet werden.
Dies ermöglicht es, den Referenzzähler des `trace_array` vor dem Zugriff auf das `ftrace_ops` zu erhöhen, welches ebenfalls freigegeben werden könnte, wenn die Instanz entfernt wird.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.