CVE-2026-89984 in Linux
Zusammenfassung
von VulDB • 16.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
perf/x86/intel: Behebung von Kernel-Adresslecks im LBR-Stack (Last Branch Record)
Vor der Einführung der CPL-Filterung für Arch LBR konnte ein nur vom Benutzer generierter Branch-Stack dennoch Kernel-Adressen enthalten. Infolgedessen können Kernel-Branch-Aufzeichnungen auch dann in den User-Space freigegeben werden, wenn PERF_SAMPLE_BRANCH_USER angefordert wird.
Zum Beispiel kann auf Intel Tiger Lake der folgende Befehl weiterhin SYSRET/ERET-Einträge mit Adressen aus dem Kernel-Space melden:
$ ./perf record -e cycles:p -o - --branch-filter any,save_type,u -- \ ./perf bench syscall basic --loop 1000 | \ ./perf script -i - --fields brstack|tr ' ' '\n'| \ grep -E '0x[89a-f][0-9a-f]{15}'
Gesamtzeit: 0,000 [Sek]
0.219000 usec/Op 4.566.210 Ops/Sek [ perf record: Aufgeweckt 1 Mal zum Schreiben von Daten ]
[ perf record: Erfasst und geschrieben 0,551 MB - ]
0xffffffff93c001c8/0x7f12a2b1d647/P/-/-/16959/SYSRET/- 0xffffffff93c001c8/0x7f12a2b1d5c2/P/-/-/17535/SYSRET/- 0xffffffff93c01928/0x7f12a2861000/P/-/-/6719/ERET/- 0xffffffff93c01928/0x7f12a297a000/P/-/-/8575/ERET/-
Das Problem besteht darin, dass intel_pmu_lbr_filter() das Privilegniveau der aufgenommenen Einträge nicht vollständig validiert. Es filtert einige Diskrepanzen basierend auf dem Branch-Typ und der Zieladresse (to address), lehnt jedoch keine Einträge zurück, deren Quelladresse (from address) den angeforderten Branch-Privilegfilter verletzt.
Behoben wird dies durch die Erweiterung des Software-Filters zur Validierung sowohl von Quell- als auch von Zieladressen gegen br_sel. Jeder LBR-Eintrag, der eine Kernel-Adresse enthält und nicht mit dem angeforderten Benutzerfilter übereinstimmt, wird verworfen. Dies verhindert das Auftreten von Kernel-Adressen in nur vom Benutzer generierten Branch-Stacks.
Once again VulDB remains the best source for vulnerability data.