Ein neuer Spectre-Angriff hat eine weitere Lücke in den Schutzmechanismen moderner Prozessoren gefunden. Forscher demonstrierten ihn, indem sie einen Linux-Root-Passwort-Hash aus dem Speicher extrahierten.
Sicherheitsforscher haben Branch Target Reuse (BTR) offengelegt, einen neuen Spectre-v2-Angriff, der Just-in-Time-(JIT-)Compiler ins Visier nimmt und Verhalten ausnutzt, das die Forscher auf Prozessoren von Intel, AMD und Arm bestätigt haben. Die Forscher entwickelten zwei durchgängige Exploits für den Linux-Kernel. Bei ihrer cBPF-Demonstration auf modernen Intel-CPUs konnten sie beliebige Speicherinhalte auslesen und unter den Testbedingungen in ungefähr drei bis fünf Minuten einen Passwort-Hash des Root-Kontos aus einem laufenden su-Prozess rekonstruieren.
Der Angriff bedeutet nicht, dass Hacker ein Linux-Root-Passwort aus der Ferne stehlen können, indem sie einfach eine verwundbare Maschine besuchen. Er zeigt jedoch, dass Schwachstellen bei der spekulativen Ausführung auch nach Jahren von Spectre-Gegenmaßnahmen ausnutzbar bleiben – insbesondere, wenn JIT-kompilierter Code und veraltete Prozessorvorhersagen aufeinandertreffen.
So funktioniert der neue Spectre-Angriff
Forscher der VUSec-Gruppe der Vrije Universiteit Amsterdam und der Scuola Superiore Sant'Anna haben BTR in einer zur ACM Conference on Computer and Communications Security (CCS) 2026 angenommenen Arbeit ausführlich beschrieben.
Laut der Analyse der Forscher zu Branch Target Reusenutzt der Angriff eine Diskrepanz zwischen JIT-generiertem Code und Informationen aus, die der Verzweigungsvorhersager eines Prozessors beibehält.
Moderne Prozessoren sagen voraus, wo Software als Nächstes ausgeführt wird, um die Leistung zu verbessern. Wenn JIT-kompilierter Code entfernt und der zugrunde liegende Speicher für neuen Code wiederverwendet wird, kann der Prozessor eine alte indirekte Sprungvorhersage behalten, die auf den vorherigen Codebereich zeigt.
BTR macht diese veraltete Vorhersage zu einem Angriffswerkzeug.
Ein Angreifer trainiert zunächst einen indirekten Sprung darauf, auf JIT-generierten Code zu zielen. Dieser Code wird anschließend entfernt und sein Speicher wiederverwendet. Wird der Sprung erneut ausgeführt, kann die CPU der veralteten Vorhersage spekulativ in den neu generierten Code an einer unbeabsichtigten Stelle folgen. Diese spekulative Ausführung kann Daten offenlegen, die ansonsten unzugänglich bleiben sollten.
Der Befund fügt einem langwierigen Sicherheitsproblem eine weitere Komplikation hinzu. Spectre v2, auch als Branch Target Injection bekannt, wurde erstmals 2018 offengelegt und missbraucht spekulative Ausführung, um Sicherheitsgrenzen zu überwinden. Der Spectre-and-Meltdown-Leitfaden von eSecurityPlanet erklärt, wie die ursprünglichen Angriffe Prozessoroptimierungen ausnutzten, um geschützte Informationen offenzulegen.
Forscher demonstrieren das Auslesen eines Linux-Root-Hashes
Die eindrucksvollste BTR-Demonstration zielte auf den klassischen Berkeley-Paketfilter-(BPF-)JIT-Compiler des Linux-Kernels.
Die Forscher erstellten zwei cBPF-Programme – ein Trainingsprogramm und ein Zielprogramm – und installierten sie als seccomp-Filter. Zunächst führten sie das Trainingsprogramm aus, um einen indirekten Sprung zu trainieren. Anschließend entfernten sie es und ersetzten es im selben Speicherbereich durch das Zielprogramm.
Die veraltete Sprungvorhersage des Prozessors konnte weiterhin auf die alte Codeposition zeigen. Wurde sie erneut ausgelöst, konnte die spekulative Ausführung an einem unbeabsichtigten Offset in das neu generierte Programm gelangen, sodass vom Angreifer kontrollierte Anweisungen vorübergehend ausgeführt wurden.
Die Forscher erklärten, ihr durchgängiger Exploit könne auf modernen Intel-Prozessoren beliebige Speicherinhalte auslesen und dabei alle auf ihrem Testsystem aktivierten Gegenmaßnahmen umgehen.
Der Proof of Concept las Daten mit ungefähr 8 Byte pro Sekunde aus. Das klingt zwar nach wenig, doch ein Angreifer muss nicht unbedingt große Mengen an Speicher auslesen, um etwas Wertvolles zu erlangen.
Die Forscher entwickelten außerdem eine Version des Exploits, die den optionalen Schutz vor Konstantenverschleierung von cBPF umgeht, der standardmäßig deaktiviert ist. Dazu passten sie eine JIT-Spraying-Technik an, bei der vom Angreifer kontrollierte Anweisungen in Sprung-Offsets statt in unmittelbaren Werten codiert werden.
Bei der Demonstration der Forscher führten sie su root aus, wodurch der Passwort-Hash des Root-Kontos in den Speicher des Prozesses geladen wurde. Ihr Exploit durchsuchte anschließend Linux-Kernelstrukturen, lokalisierte den su-Prozess und dessen zugeordneten Speicher und fand und exfiltrierte schließlich den Hash.
Berichten über die Ergebnisse der Forscher zufolge rekonstruierte die vollständige Demonstration den Root-Passwort-Hash im Durchschnitt in ungefähr drei Minuten auf Intel Raptor Cove und fünf Minuten auf Lion Cove. Diese Werte beziehen sich auf spezifische Versuchsbedingungen und sollten nicht als allgemeingültige Zeiten für die Ausnutzung betrachtet werden.
Die Forschung belegt außerdem nicht, dass BTR derzeit bei Angriffen in der Praxis eingesetzt wird.
Linux war in diesem Jahr mit weiteren schwerwiegenden Sicherheitsproblemen auf niedriger Ebene konfrontiert. Die kürzlich offengelegte Januscape-Linux-VM-Escape-Schwachstelle betraf KVM-Systeme mit Intel- und AMD-Prozessoren und konnte es einer Gast-VM ermöglichen, ihren Host zu kompromittieren.
Intel-, AMD- und Arm-Prozessoren zeigen verwundbares Verhalten
BTR ist nicht auf einen einzelnen CPU-Hersteller beschränkt.
Die Forscher erklärten, sie hätten das zugrunde liegende Verhalten der veralteten Sprungvorhersage auf jedem getesteten Prozessor bestätigt – darunter Modelle von Intel, AMD und Arm. Ihrer Einschätzung nach sind wahrscheinlich die meisten Systeme betroffen, weil die Vorhersage indirekter Sprünge ein grundlegender Bestandteil moderner CPUs ist.
Das bedeutet nicht, dass jedes Intel-, AMD- oder Arm-System mit derselben Technik ausgenutzt werden kann. Die praktische Ausnutzung hängt stark von der Softwareumgebung, der JIT-Engine, den verfügbaren Gadgets und den vorhandenen Gegenmaßnahmen ab.
Die Forscher untersuchten drei wichtige Angriffsflächen:
- Linux-cBPF: Die Forscher entwickelten funktionierende durchgängige Exploits, die auf getesteter Intel-Hardware beliebige Speicherinhalte auslesen konnten.
- Mozilla SpiderMonkey: Die von Firefox verwendete JavaScript- und WebAssembly-Engine zeigte Bedingungen, die BTR-Angriffe nach Einschätzung der Forscher praktikabel machen. Sie entwickelten einen Proof of Concept, für einen durchgängigen Browser-Exploit sind jedoch noch weitere Arbeiten erforderlich.
- Oracle GraalVM: Die Forscher demonstrierten eine Technik, um die Speicher-Maskierung der Sandbox spekulativ zu umgehen. Das Kompilierungs- und Garbage-Collection-Verhalten von GraalVM störte jedoch veraltete Vorhersageeinträge, bevor sie einen durchgängigen Exploit fertigstellen konnten.
BTR legt eine umfassendere Schwachstelle im Zusammenspiel von JIT-Compilern und Prozessor-Sprungvorhersage offen. Die Forscher demonstrierten jedoch nicht auf allen getesteten Plattformen oder CPUs ein gleiches Ausmaß an Ausnutzbarkeit.
Die Browser-Sicherheit bleibt eine wichtige Angriffsfläche, da manipulierte Webseiten mit hochoptimierten JIT-Engines interagieren können. Google hat beispielsweise kürzlich 108 Sicherheitslücken in Chrome 154 geschlossen, darunter kritische Fehler in der Speichersicherheit von Browserkomponenten.
Linux und Oracle haben bereits BTR-Gegenmaßnahmen umgesetzt
Die Forscher informierten betroffene Hardware- und Softwareanbieter vertraulich über ihre Ergebnisse, bevor sie BTR öffentlich machten. Daher waren einige Schutzmaßnahmen bereits verfügbar, als die Forschung offengelegt wurde.
Entwickler des Linux-Kernels stellten vor der öffentlichen Offenlegung von BTR Fehlerbehebungen für den demonstrierten BPF-Angriff bereit. Die beiden zugehörigen Schwachstellen sind:
- CVE-2026-64507: Aktiviert auf x86-Systemen mit anwendbaren Spectre-v2-Gegenmaßnahmen eine Leerung der Indirect Branch Prediction Barrier (IBPB), wenn BPF-JIT-Speicher wiederverwendet wird.
- CVE-2026-64508: Ergänzt die BPF-Infrastruktur um eine Leerung indirekter Sprungvorhersagen, bevor JIT-Speicher wiederverwendet wird. Dadurch wird verhindert, dass neu geschriebene Programme Vorhersagen übernehmen, die von zuvor ausgeführtem Code hinterlassen wurden.
Die Linux-Kernel-Fixes für beide Schwachstellen wurden am 25. Juli veröffentlicht und inzwischen in gepatchte Kernelpakete und stabile Zweige aufgenommen. Administratoren sollten die von ihrer Linux-Distribution bereitgestellten Sicherheitsupdates installieren.
Oracle hat außerdem eine GraalVM-Gegenmaßnahme umgesetzt, die die Positionen des JIT-Code-Caches randomisiert und dadurch eine vorhersehbare Wiederverwendung von Speicherbereichen erschwert.
Laut den BTR-Forschern erwog Mozilla Gegenmaßnahmen auf Basis von IBPB, räumte jedoch der Fertigstellung und Bereitstellung der Site-Isolation Priorität ein. Die Site-Isolation trennt Webinhalte in unterschiedliche Prozesse und verringert so die Menge potenziell verfügbarer sensibler Daten innerhalb desselben Adressraums.
Die Forscher erklärten, die Hardwareanbieter hätten die Ergebnisse anerkannt, aber auf bestehende Mechanismen wie IBPB als geeignete Bausteine für Schutzmaßnahmen verwiesen. Damit bleibt es den Softwareanbietern überlassen, bei Bedarf BTR-spezifische Gegenmaßnahmen bereitzustellen.
Was Linux-Nutzer und Sicherheitsteams tun sollten
BTR ist ein Forschungsangriff und kein Beleg für eine laufende Kampagne. Seine Reichweite macht die Offenlegung jedoch weit über das Labor hinaus relevant.
Der demonstrierte Linux-Angriff sollte außerdem nicht mit einer aus der Ferne durchführbaren Kompromittierung ohne Benutzerinteraktion verwechselt werden. Ein Angreifer muss nicht privilegierten Code auf dem Zielsystem ausführen und auf cBPF-Funktionen zugreifen können. In der Demonstration von VUSec installierten die Forscher ihre cBPF-Programme als seccomp-Filter.
Im Gegensatz zum leistungsfähigeren eBPF-JIT, der auf privilegierte Nutzer beschränkt ist, bleibt cBPF für nicht privilegierte Programme zugänglich. Laut den Forschern wird es weiterhin bei der Linux-Socket-Filterung, in seccomp-Filtern und in von Software wie Docker und Chrome verwendeten Paketfilterpfaden eingesetzt.
Organisationen, die Linux einsetzen, sollten die neuesten Sicherheitsupdates ihrer Linux-Distribution installieren, insbesondere auf Systemen, auf denen nicht vertrauenswürdiger oder weniger privilegierter Code ausgeführt werden kann. Administratoren sollten außerdem JIT-intensive Laufzeitumgebungen, Browser und Entwicklungsumgebungen aktuell halten, während Anbieter softwarespezifische Schutzmaßnahmen einführen oder verbessern.
Die übergeordnete Erkenntnis lautet, dass Spectre nach den Notfall-Patches von 2018 nicht verschwunden ist. Moderne Prozessoren verlassen sich für ihre Leistung weiterhin stark auf spekulative Ausführung und Sprungvorhersage, während JIT-Compiler fortlaufend ausführbaren Code erstellen, entfernen und wiederverwenden. BTR zeigt, wie die Schnittstelle zwischen diesen beiden Systemen neue Wege zu geschützten Daten eröffnen kann.
Für Linux-Administratoren und Sicherheitsteams sind Schwachstellen auf CPU-Ebene mehr als ein abstraktes Hardwareproblem. Die praktische Abhilfe kann über ein Linux-Kernel-Update, eine neue Browserversion oder einen Laufzeit-Patch kommen und nicht über einen neuen Prozessor. Es ist entscheidend, diese Ebenen aktuell zu halten – insbesondere auf gemeinsam genutzten Systemen, auf denen nicht vertrauenswürdiger Code und sensible Workloads nebeneinander ausgeführt werden.
Weiterlesen: Forscher demonstrierten kürzlich einen weiteren Spectre-Angriff, der ein JWT aus einem Cloudflare Worker auslas und damit zeigten, wie Angriffe auf die spekulative Ausführung sensible Daten in gemeinsam genutzten Cloud-Umgebungen gefährden können.





