NieuwsCryptoXRP Ledger verhelpt tien jaar oude betalingsbug die namaak-XRP had kunnen creëren

XRP Ledger verhelpt tien jaar oude betalingsbug die namaak-XRP had kunnen creëren

Auteur: Decrypt·

Belangrijkste punten

  • •Een integer-overloop in de betalingsengine van de XRP Ledger, aanwezig sinds de code in 2015 werd geschreven, had een aanvaller in staat kunnen stellen om in één transactie besteedbare XRP te creëren die de totale voorraad van de token oversteg.
  • •De bug, in september gemeld door een onderzoeker via het XRPL bug bounty-programma, trad alleen op wanneer één betaling honderden speciaal vervaardigde orderboekoffers verbruikte, waardoor het verschuldigde bedrag terugwikkelde naar een verwaarloosbare waarde terwijl verkopers volledig werden uitbetaald.
  • •De ingebouwde veiligheidscontrole van het grootboek, ontworpen om te waarborgen dat geen enkele transactie XRP creëert, leunde op dezelfde gebrekkige rekenlogica en faalde onopgemerkt naast de kwetsbare code.
  • •De patch werd op 25 september uitgebracht in versie 3.4.1 en werd diezelfde dag overgenomen door meer dan 80% van de vertrouwde validators—de eerste keer dat een wijziging in transactieverwerking bewust het tweewekelijke amendmentstemproces van het grootboek oversloeg.
  • •De beheerders vonden geen aanwijzingen dat de kwetsbaarheid ooit is misbruikt, en de bekendmaking roept herinneringen op aan een eerdere namaakschrik rond een soundness-bug in de shielded pool van Zcash.
XRP Ledger verhelpt tien jaar oude betalingsbug die namaak-XRP had kunnen creëren

De ontwikkelaars achter de XRP Ledger hebben een kritieke kwetsbaarheid bekendgemaakt en verholpen die, onopgelost, een aanvaller in staat had gesteld XRP uit het niets te creëren—a flaw die ongeveer een decennium slapend aanwezig was in de code van het netwerk.

In een disclosure die vrijdag werd gepubliceerd, meldden de beheerders van het grootboek dat een onderzoeker de bug in september meldde via het XRPL bug bounty-programma. Het probleem was een integer-overloop in de betalingsengine, het onderdeel van de software dat verantwoordelijk is voor het verwerken van betalingen.

De rekenfout kwam alleen onder ongebruikelijke omstandigheden aan het licht. Wanneer een enkele betaling honderden speciaal vervaardigde offers uit het orderboek verbruikte, oversteeg het totaalbedrag dat de koper verschuldigd was de maximale waarde die het systeem kon opslaan en 'wikkelde' het terug naar een klein getal. De engine betaalde elke verkoper volledig, maar berekende de koper vrijwel niets, waarbij het verschil neerkwam op nieuw gemaakte XRP die nooit had mogen bestaan.

Het probleem werd verergerd doordat de ingebouwde veiligheidscontrole van het grootboek—ontworpen om te bevestigen dat geen enkele transactie XRP creëert—op dezelfde gebrekkige rekenlogica leunde. Die wikkelde op identieke wijze terug en detecteerde niets. Volgens de beheerders had een aanvaller in één transactie besteedbare XRP kunnen creëren die ver voorbij de totale voorraad van de token ging, en die vervolgens kunnen verplaatsen, verhandelen of naar beurzen kunnen sturen. Die controle is het mechanisme waarmee het grootboek garandeert dat geen enkele transactie nieuwe XRP kan creëren, en het faalde onopgemerkt naast de code die het juist moest bewaken.

RippleX-ingenieurs bevestigden dat de bug aanwezig was sinds de huidige betalingsengine in 2015 werd geschreven. Die bleef onopgemerkt omdat geen enkele normale betaling ook maar in de komt van het activeren van de overloop, en er zijn geen aanwijzingen dat de kwetsbaarheid ooit is misbruikt, aldus het team.

De fix werd op 25 september uitgebracht in versie 3.4.1, en diezelfde dag draaide meer dan 80% van de vertrouwde validators van het netwerk deze versie al. Opmerkelijk genoeg sloeg de patch het gebruikelijke amendmentproces van het grootboek over, waarbij validators moeten stemmen en twee weken moeten wachten voordat een wijziging ingaat. Het was de eerste keer sinds de introductie van het systeem ruim tien jaar geleden dat een wijziging in transactieverwerking op deze manier bewust werd uitgerold. De beheerders stelden dat de ernst de afwijking rechtvaardigde, aangezien publicatie van de open-sourcefix de bug zou hebben onthuld terwijl deze wekenlang exploiteerbaar zou blijven. Nu de kwetsbaarheid openbaar is, heeft elke validator die nog op een eerdere release draait zowel de reden als de remedie bij de hand—een upgrade naar 3.4.1 verwijdert de gebrekkige rekenlogica uit de betalingsverwerking van die node.

De bekendmaking roept herinneringen op aan een namaakschrik die eerder dit jaar Zcash trof, toen de privacycoin haastte om een soundness-bug in zijn shielded pool te patchen die vervalste munten mogelijk had gemaakt. Die episode liet ZEC storten voordat de Ironwood-upgrade van het netwerk het probleem oploste. Beide incidenten richtten zich op dezelfde categorie van zekerheid: dat het activum van een blockchain niet uit het niets kan worden gemaakt, hoe slim een transactie ook is opgebouwd.

XRP kwam de week ongeschonden door. De token handelde maandag op $1,38, een daling van 1,6% in 24 uur—de slechtste prestatie onder de grote cryptocurrencies—en 9,4% lager over de afgelopen zeven dagen.