Sicherheitsforscher haben Branch Target Reuse demonstriert, eine Spectre-v2-Variante, die sensible Informationen durch veraltete Prozessorvorhersagen offenlegt. Bei Linux-Experimenten auf zwei Intel-Architekturen konnte das Team einen Root-Passwort-Hash im Durchschnitt innerhalb von drei bis fünf Minuten auslesen.

Das Ergebnis bedeutet nicht, dass Angreifer sofort an das Passwort selbst gelangen können. Ein gestohlener Hash ermöglicht es ihnen jedoch, das Passwort offline zu knacken.

Linux-Tests demonstrieren Offenlegung sensibler Daten

Forscher der VUsec-Gruppe der VU Amsterdam und der Scuola Superiore Sant’Anna entwickelten den Angriff. Ihre stärkste Demonstration richtete sich gegen den klassischen Berkeley Packet Filter, kurz cBPF, des Linux-Kernels.

Während der Tests nutzte das Team unprivilegierte cBPF-Programme, um die Vorhersagen des Prozessors zu beeinflussen. Anschließend ersetzten die Forscher ein Programm durch anderen Code an derselben Speicherposition.

Diese Abfolge führte dazu, dass der Prozessor kurzzeitig einer veralteten Vorhersage zu vom Angreifer kontrollierten Anweisungen folgte. Diese Anweisungen hinterließen messbare Cache-Spuren, wodurch die Forscher Informationen Byte für Byte rekonstruieren konnten.

Anschließend lokalisierte das Team einen laufenden su-Prozess und extrahierte den Root-Passwort-Hash aus dessen Speicher. Die Datenwiederherstellung erreichte etwa acht Byte pro Sekunde.

Auf Intel Raptor Cove dauerte der vollständige Angriff durchschnittlich drei Minuten. Bei Tests auf Lion Cove waren es hingegen durchschnittlich fünf Minuten.

Warum das Ersetzen von Code Vorhersagen zurücklassen kann

Moderne Prozessoren sagen voraus, welche Anweisungen sie als Nächstes benötigen werden, um die Leistung zu verbessern. Diese Vorhersagen können jedoch länger bestehen bleiben als der Code, der sie ursprünglich erzeugt hat.

Bei der Just-in-Time-Kompilierung wird Maschinencode erzeugt, während die Software läuft. Wenn eine JIT-Engine alten Code entfernt, kann sie später neue Anweisungen an derselben Adresse platzieren.

Branch Target Reuse nutzt die Diskrepanz zwischen diesem Ersatzcode und den früheren Sprungvorhersagen des Prozessors aus.

Dadurch kann der Prozessor kurzzeitig Anweisungen von einer unbeabsichtigten Position ausführen, bevor er seinen Fehler korrigiert. Obwohl die normale Ausführung diesem Pfad nicht folgt, kann die vorübergehende Aktivität Spuren im Cache hinterlassen.

Forscher können diese Spuren anschließend messen, um sensible Daten abzuleiten.

Bestehende Schutzmaßnahmen stoppten nicht beide Demonstrationen

Die Forscher entwickelten vollständige Linux-Exploits für zwei Konfigurationen: die Standardeinstellung und eine Konfiguration mit aktiviertem Constant Blinding.

Constant Blinding erschwert es Angreifern, bestimmte eingebettete Werte zu kontrollieren. Dennoch passte das Team seine Technik an, indem es die erforderlichen Anweisungsmuster in Jump Offsets platzierte.

Auch diese Version konnte den Passwort-Hash innerhalb von fünf Minuten auslesen.

Das Extrahieren eines Hashes garantiert jedoch keinen Zugriff auf das Konto. Ob das zugrunde liegende Passwort wiederhergestellt werden kann, hängt unter anderem von der Passwortstärke und dem verwendeten Hashing-Algorithmus ab.

Browser-Ergebnisse haben wichtige Einschränkungen

Die Untersuchung umfasste auch Mozillas JavaScript-Engine SpiderMonkey und Oracles GraalVM. Keines der Experimente erzielte jedoch dasselbe vollständige Ergebnis wie die Linux-Demonstrationen.

Bei SpiderMonkey bestätigte das Team, dass alte Vorhersagen das Ersetzen von Code überdauern konnten. Einen vollständigen Browser-Exploit demonstrierte es jedoch nicht.

Bei den GraalVM-Tests zeigte sich unterdessen ein potenzieller Weg, eine Sandbox-Prüfung während der spekulativen Ausführung zu umgehen. Andere Aktivitäten der Engine löschten die relevanten Vorhersagen jedoch, bevor die Forscher den Angriff abschließen konnten.

Diese Ergebnisse zeigen unterschiedliche Grade der Gefährdung und keine gleichwertigen funktionierenden Exploits in allen drei Umgebungen.

Kernel-Fixes beheben die gemeldeten Probleme

Die Forschung führte zu den Kennungen CVE-2026-64507 und CVE-2026-64508, und entsprechende Fixes wurden in den Linux-Kernel aufgenommen.

Das Team beobachtete das zugrunde liegende Vorhersageverhalten außerdem bei jedem getesteten Prozessor, darunter Modelle von Intel, AMD und Arm. Die in der Forschung beschriebenen vollständigen Linux-Demonstrationen zur Extraktion von Passwort-Hashes betrafen jedoch Intel-Prozessoren.

Linux-Nutzer sollten Kernel-Updates installieren, die diese Fixes enthalten. Darüber hinaus sollten Nutzer ihre Betriebssysteme und relevante Firmware auf dem neuesten Stand halten.


0 Kommentare zu „Branch-Target-Reuse-Angriff extrahiert Linux-Root-Passwort-Hash innerhalb weniger Minuten“