Ein Fehler in der Payment-Engine des XRP Ledgers ermöglichte es, mit einer einzigen Zahlung neue XRP aus dem Nichts zu erzeugen. Der Fehler steckte etwa ein Jahrzehnt lang im Code, und die Korrektur ging live, bevor irgendjemand sie lesen konnte.

Die Engine addierte mit einem einfachen 64-Bit-Zähler, wie viel ein Käufer über mehrere Angebote hinweg schuldete. Einige Hundert speziell konstruierte Angebote, die jeweils eine riesige Menge XRP verlangten, trieben die Summe über den Grenzwert, sodass sie auf fast null zurücksprang. Die Verkäufer wurden vollständig bezahlt, der Käufer zahlte so gut wie nichts, und die Prüfung, dass „keine XRP erzeugt wurden“, verwendete denselben Zähler – sie erkannte also nichts.

Unseren Berechnungen zufolge kann dieser Zähler höchstens etwa 9,2 Billionen XRP erfassen, also ungefähr das 92-Fache des Gesamtangebots von 100 Milliarden. Kein Konto darf mehr als das gesamte Angebot halten, daher benötigte der Angriff mindestens 93 Empfängerkonten.

Cayden Liao und Veria AI meldeten den Fehler am 22. Sept. über das XRPL-Bug-Bounty-Programm. xrpld 3.4.1 wurde am 25. Sept. veröffentlicht, der Quellcode blieb jedoch zunächst zurückgehalten. An diesem Tag lief die Version auf über 80 % der standardmäßigen UNL-Validatoren. Die Änderung übersprang die Abstimmung über ein Amendment – ein Novum bei einer Korrektur der Transaktionsverarbeitung seit über zehn Jahren. RippleX fand keine Hinweise darauf, dass der Fehler jemals in einem öffentlichen Netzwerk ausgenutzt wurde.

Etwa zehn Jahre im Code. Drei Tage bis zur Korrektur.

$XRP
#XRP #CryptoSecurity
Keine Finanzberatung. Recherchiere selbst.