Die Radix Foundation hat am 17. September offengelegt, dass eine beim Code-Refactoring des Radix Engine im Jahr 2023 eingeführte Schwachstelle am 31. August 2026 ausgenutzt wurde. Angreifer zogen dabei rund 1,26 Mio. Dollar aus mehreren Vaults ab. Da der Radix Engine Transaktionen ausführt und den Besitz von Vermögenswerten überprüft, stoppten die Radix-Validatoren vorübergehend den Konsens. Blockchain-Transaktionen waren dadurch mehr als zehn Tage ausgesetzt.
Der Vorfall beschränkte sich nicht auf die unmittelbar gestohlenen Vermögenswerte. Nach den Untersuchungen hätte die Schwachstelle theoretisch gegen jeden Vault im Netzwerk eingesetzt werden können, darunter Token in Nutzerkonten, Anwendungen und Liquiditätspools. Für Handelsplattformen und Liquiditätsanbieter lag das zentrale Problem darin, dass die Ausführungsschicht die vorgesehenen Berechtigungsgrenzen zum Schutz der Vault-Bestände nicht zuverlässig durchsetzte.
26 Transaktionen bewegten mehrere Vermögenswerte
Eine Rekonstruktion des Community-Ledgers ergab, dass der Angreifer am 31. August zwischen 16:02 und 16:57 Uhr UTC insgesamt 26 Exploit-Transaktionen ausführte. Dabei wurden etwa 458.915 USDC, 72.420 USDT, 61,08 ETH, 6,35 Wrapped Bitcoin, 536,16 SOL und 32,91 BNB transferiert. Auf Basis der Marktpreise vom 31. August hatten die Vermögenswerte zusammen einen Wert von rund 1,26 Mio. Dollar. Auf die beiden Stablecoins entfielen davon etwa 531.300 Dollar.
Zusätzlich zog der Angreifer 13.000 XRD aus einem Vault ab, um die Transaktionsgebühren zu bezahlen. Die gestohlenen Vermögenswerte wurden anschließend über Hyperlane zu Ethereum, BNB Chain und Solana transferiert und dort in ETH getauscht. Die Radix Foundation erklärte, dass die Hyperlane-Bridge wie vorgesehen funktioniert habe. Der Angreifer habe die Vermögenswerte zunächst über den Radix Engine erlangt und erst danach den Cross-Chain-Dienst für den Transfer genutzt. Hinweise auf kompromittierte private Schlüssel gibt es bislang nicht.
Der transferierte Betrag dürfte die wirtschaftlichen Folgen des Vorfalls nicht vollständig abbilden. Nach den Untersuchungen war die Schwachstelle nicht auf die vom Angreifer direkt abgezogenen Cross-Chain-Vermögenswerte begrenzt. Auch andere Token und Vermögenswerte in Vaults im gesamten Netzwerk hätten demselben Risiko ausgesetzt sein können.
Code-Refactoring führte 2023 die Schwachstelle ein
Nach Angaben der Radix Foundation wurde der Fehler im Juni 2023 vom Entwicklungsteam von RDX Works eingeführt, als der Code des Radix Engine bereinigt wurde. Die Schwachstelle blieb mehr als drei Jahre im Netzwerk, bevor sie am 31. August 2026 ausgenutzt wurde.
Das Problem betraf den Umgang des Engines mit Vault-Referenzen. Eine Transaktion konnte eine interne Adresse verwenden, um auf den Vault eines anderen Nutzers zu verweisen, und diese Referenz an einen bestimmten Smart Contract übergeben. Der Radix Engine ließ anschließend eine standardmäßige Auszahlungsfunktion zu, ohne die Eigentumsprüfung des Vaults korrekt durchzusetzen. Eine unberechtigte Anfrage wurde damit nicht zuverlässig abgewiesen.
Nach dem vorgesehenen Design darf nur der Eigentümer eines Vaults oder eine autorisierte Transaktion dessen Vermögenswerte abheben. Der Fehler konnte es einem Angreifer jedoch ermöglichen, auf Gelder in Nutzerkonten, Anwendungen und Liquiditätspools zuzugreifen, ohne eine Signatur des Eigentümers der Vermögenswerte einzuholen.
Der Code hatte zudem eine unabhängige Sicherheitsprüfung durchlaufen. Zellic auditierte das Radix-Protokoll im Jahr 2024, einschließlich des betroffenen Kerns des Engines, entdeckte die Berechtigungsschwachstelle jedoch nicht. Weil der Fehler auf ein früheres Code-Refactoring zurückging, zeigte der Vorfall, dass routinemäßige Wartungsarbeiten bestehende Sicherheitsannahmen verändern können, ohne dass dies durch herkömmliche Audits zwingend erkannt wird.
Validatoren stoppten den Konsens
Nachdem die Untersuchungen ergeben hatten, dass das Problem in der Transaktionsausführung und nicht in einer einzelnen Anwendung lag, koordinierten die Radix-Validatoren ihre Reaktion. Sie nahmen freiwillig ausreichend Stake offline, um zu verhindern, dass das Netzwerk einen Konsens erreicht und weitere Transaktionen verarbeitet.
Die Abschaltung dauerte mehr als zehn Tage. Das Protokoll-Update ergänzte Prüfungen, die verhindern sollen, dass eingeschränkte Vault-Referenzen mit standardmäßigen Auszahlungsfunktionen verwendet werden. Eine Rekonstruktion des Community-Ledgers deutet darauf hin, dass Nutzertransaktionen am 11. September wieder aufgenommen wurden.
Der Vorfall verursachte auch Folgeschäden in Liquiditätspools. Nachdem der Angreifer Cross-Chain-Vermögenswerte aus einer Seite mehrerer Handelspaare abgezogen hatte, gerieten die Preisverhältnisse in den Pools aus dem Gleichgewicht. Ein anderes Konto nutzte die dadurch entstandenen Fehlbewertungen, um Millionen XRD aus den betroffenen Pools abzuziehen. Der Vorgang zeigt, dass eine Schwachstelle in der Ausführungsschicht auch nach dem Abfluss der ursprünglich gestohlenen Vermögenswerte weitere Verluste auslösen kann, wenn sich Preise und Liquiditätsbedingungen verzerren.
Radix will Tests und Notfallverfahren ausweiten
Die Radix Foundation kündigte als Folgemaßnahmen umfangreichere Regressionstests, strengere Verfahren für Sicherheitsprüfungen und eine formelle Verankerung der von den Validatoren eingesetzten Notfallmaßnahmen an. Die Arbeiten sollen sich nicht nur auf die Schließung des ausgenutzten Codepfads konzentrieren, sondern auch alle Änderungen überprüfen, die die Berechtigungslogik beeinflussen.
Nach Angaben der Foundation müssen künftige Sicherheitsmaßnahmen außerdem leistungsfähigere KI-gestützte Werkzeuge zur Codeanalyse berücksichtigen. Diese könnten Angreifern dabei helfen, lange bestehende Schwachstellen aufzuspüren. Die Offenlegung stellte jedoch nicht fest, ob der Angreifer ein bestimmtes Werkzeug eingesetzt hat.
Für Entwickler und Validatoren besteht die unmittelbare Aufgabe darin, sicherzustellen, dass routinemäßige Wartungsarbeiten das Berechtigungsmodell nicht ohne ausreichende Tests und Prüfungen verändern. Für Nutzer und Liquiditätsanbieter bleibt entscheidend, ob das Netzwerk die Eigentumsprüfungen der Vaults dauerhaft korrekt durchsetzt und ob die überarbeiteten Notfallverfahren bei einem vergleichbaren Vorfall schnell aktiviert werden können. Diese Punkte betreffen unmittelbar die Sicherheit der Radix-Vermögenswerte und die Stabilität des Netzwerks.