Mastodon Mastodon Mastodon Mastodon

Branch Target Reuse – neue Spectre-v2-Variante, die bestehende Schutzmechanismen des Linux-Kernels umgeht

Foto des Autors

CyberSecureFox Editorial Team

Veröffentlicht:

Forschende von VUSec und der Scuola Superiore Sant’Anna haben eine neue Variante des Angriffs Spectre-v2 offengelegt, die den Namen Branch Target Reuse (BTR) trägt. Der Angriff nutzt die Wechselwirkung zwischen sich selbst modifizierendem Code in JIT-Engines (Just-In-Time – „On-the-fly“-Kompilierung) und dem Vorhersagemechanismus für indirekte Sprünge der CPU aus und ermöglicht so das Auslesen vertraulicher Daten aus dem Speicher des Linux-Kernels. Für den Linux-Kernel wurden bereits Patches veröffentlicht – CVE-2026-64507 und CVE-2026-64508 –, wobei letztere laut dem Oracle-Linux-Eintrag mit 7.0 nach CVSS v3.1 bewertet ist. Administratoren von Linux-Systemen sollten den Kernel umgehend aktualisieren und den Status der Spectre-v2-Mitigationen prüfen.

Angriffsmechanismus: veraltete Einträge im Branch Target Buffer

Der Kern von BTR besteht darin, dass moderne Prozessoren bei der Überschreibung von Code im Speicher (was in JIT-Engines kontinuierlich geschieht) zwar die architektonische Kohärenz wiederherstellen, dabei aber nicht zwingend veraltete Einträge im Branch Target Buffer (BTB) ungültig machen. Wenn eine JIT-Engine einen Speicherbereich mit zuvor kompiliertem Code freigibt und anschließend neuen Code an derselben oder einer sich überlappenden Adresse allokiert, kann der Prozessor spekulativ einem alten BTB-Eintrag folgen, der auf bereits nicht mehr existenten Code verweist. Nach Angaben der Forschenden entsteht dadurch ein „transient execute-after-free“-Primitiv, das es einem Angreifer ermöglicht, den spekulativen Kontrollfluss zu kapern.

Die Abfolge des Angriffs sieht wie folgt aus:

  1. Der Angreifer veranlasst die JIT-Engine, einen „Trainings“-Codeblock zu allokieren und ein indirektes Sprungziel darauf zu richten, wodurch ein Eintrag im BTB entsteht.
  2. Der Trainingsblock wird freigegeben, und an seiner Stelle (oder mit teilweiser Adressüberlappung) wird ein neuer Zielblock allokiert.
  3. Beim erneuten Ausführen des indirekten Sprungs nutzt der Prozessor den veralteten BTB-Eintrag und führt spekulativ einen Sprung zur alten Adresse aus.
  4. Das Ergebnis ist die Übernahme des spekulativen Kontrollflusses und der Abfluss vertraulicher Daten über einen Cache-Side-Channel.

Eine kritische Voraussetzung ist, dass der veraltete BTB-Eintrag nach der Speicherfreigabe durch die JIT-Engine erhalten bleibt und vom Sprungvorhersager beim nächsten Durchlauf ausgewählt wird. Der Angriff setzt die Möglichkeit voraus, nicht privilegierten Code in der JIT-Engine auszuführen.

Betroffene Komponenten und Reichweite der Auswirkungen

Den Forschenden zufolge wurde BTR an drei JIT-Implementierungen getestet: SpiderMonkey (JIT-Engine von Mozilla Firefox), GraalVM und cBPF JIT des Linux-Kernels – alle erwiesen sich als verwundbar, allerdings mit „deutlich unterschiedlichen Ausbeutbarkeitseigenschaften und Leckraten“.

Wichtig ist eine Klarstellung zum bestätigten Umfang der Auswirkungen. Der Oracle-Eintrag zu CVE-2026-64508 beschreibt die Schwachstelle konkret im Kontext des BPF-JIT-Allocators des Linux-Kernels: Das Problem tritt bei der Wiederverwendung von Speicher in „packed“-Allokationen auf, wobei Allokationen, die größer als die Paketgröße sind, nicht vom Reinigungsmechanismus des Vorhersagers abgedeckt werden. Das bedeutet, dass die tatsächliche Angriffsfläche im Linux-Kernel enger ist als das plattformübergreifende Bild im ursprünglichen Bericht. Die Auswirkungen auf SpiderMonkey und GraalVM sind bislang ausschließlich durch die Forschungsgruppe bestätigt – eine unabhängige Verifikation dieser Angaben wurde nicht gefunden.

Weder CVE-2026-64507 noch CVE-2026-64508 sind im CISA-KEV-Katalog aufgeführt. Für CVE-2026-64507 wurde keine verifizierte CVSS-Bewertung gefunden. Zuvor haben wir über die Aufnahme von Schwachstellen des Linux-Kernels in den CISA-KEV-Katalog berichtet – im Fall der BTR-Schwachstellen liegt ein solcher Status nicht vor.

Ausnutzungsstatus: PoC, kein aktiver Angriff

Im ursprünglichen Bericht werden zwei Demonstrations-Exploits (Proof-of-Concept) für den Linux-Kernel erwähnt. Unabhängige Bestätigungen einer aktiven Ausnutzung unter Realbedingungen wurden jedoch nicht gefunden. Der Ausnutzungsstatus ist daher als Vorhandensein eines öffentlichen PoC einzuordnen, nicht als bestätigte Ausnutzung „in freier Wildbahn“.

Verfügbare Patches und Mitigations

Patches für beide CVEs wurden bereits in den Mainline-Zweig des Linux-Kernels übernommen. Für nachgelagerte Distributionen gilt:

  • Oracle Linux 9 und 10 (kernel-uek): Das Update ELSA-2026-500248 wurde am 4. September 2026 veröffentlicht und enthält den Patch für CVE-2026-64508.
  • GraalVM: Oracle hat eine Randomisierung der Lage des JIT-Code-Caches implementiert – der entsprechende Pull Request wurde am 19. August 2026 angenommen.
  • Mozilla Firefox: Den Forschenden zufolge erwägt Mozilla Mitigations auf Basis von IBPB (Indirect Branch Predictor Barrier), Priorität hat jedoch der Abschluss und Rollout der Site Isolation (site isolation).

Prüfung des Mitigations-Status

Administratorinnen und Administratoren von Linux-Systemen können den aktuellen Schutzstatus gegenüber Spectre-v2 – einschließlich des IBPB-Status – über das sysfs-Interface prüfen, wie in der Linux-Kernel-Dokumentation zu Spectre beschrieben:

/sys/devices/system/cpu/vulnerabilities/spectre_v2

Diese Datei zeigt die aktiven Mitigationsmechanismen an und ermöglicht eine Einschätzung, ob das System gegen Angriffe auf Basis der Vorhersage indirekter Sprünge geschützt ist.

Priorisierung der Patches

Bei der Update-Planung sollten die Unterschiede zwischen den beiden CVEs berücksichtigt werden. CVE-2026-64508 verfügt über eine vom Hersteller bestätigte Bewertung von 7.0 (CVSS v3.1) und einen klaren Aktualisierungspfad für Oracle Linux 9/10. Für CVE-2026-64507 lagen zum Zeitpunkt der Analyse weder eine verifizierte Schweregradbewertung noch ein klar abgegrenzter betroffener Versionsbereich vor. Das bedeutet nicht, dass die zweite Schwachstelle weniger gefährlich wäre, doch die höhere Priorität für das Patchen von CVE-2026-64508 ist durch die vollständigere Informationslage begründet.

BTR ist ein weiteres Beispiel dafür, dass die Klasse der Spectre-Schwachstellen weiterhin neue Angriffsvarianten hervorbringt, die zuvor implementierte Schutzmechanismen umgehen. Konkrete Maßnahme: Aktualisieren Sie den Linux-Kernel auf eine Version, die die Patches für CVE-2026-64507 und CVE-2026-64508 enthält, prüfen Sie den Status der Spectre-v2-Mitigationen über sysfs und stellen Sie sicher, dass die Konfiguration von IBPB den Empfehlungen Ihrer Distribution entspricht. Für Umgebungen mit GraalVM gilt: Aktualisieren Sie auf eine Version mit Randomisierung des JIT-Code-Caches.


CyberSecureFox Editorial Team

Die CyberSecureFox-Redaktion berichtet über Cybersecurity-News, Schwachstellen, Malware-Kampagnen, Ransomware-Aktivitäten, AI Security, Cloud Security und Security Advisories von Herstellern. Die Beiträge werden auf Grundlage von official advisories, CVE/NVD-Daten, CISA-Meldungen, Herstellerveröffentlichungen und öffentlichen Forschungsberichten erstellt. Artikel werden vor der Veröffentlichung geprüft und bei neuen Informationen aktualisiert.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.