De XRP Ledger Blog heeft een beveiligingsrapport gepubliceerd over twee fouten die zijn verholpen in xrpld 3.4.1. xrpld is de software waarmee servers het XRP Ledger-netwerk draaien.
Het ernstigste probleem zat in de manier waarop betalingen via orderboeken werden verwerkt. Volgens het rapport had een aanvaller met speciaal gemaakte transacties in theorie nieuwe XRP kunnen creëren. De bron meldt dat er geen bewijs is gevonden dat dit probleem op een openbaar netwerk is misbruikt.
Wat is er opgelost?
Het rapport beschrijft twee aparte bugs.
De eerste bug had te maken met Batch-transacties. Dat is een functie waarmee meerdere transacties als één pakket kunnen worden ingediend. Die functie was op het moment van ontdekking nog niet actief op Mainnet, het hoofdnetwerk van de XRP Ledger. Daardoor zijn volgens het rapport geen Mainnet-accounts of fondsen geraakt.
De tweede bug zat in de zogenoemde payment engine, het onderdeel dat betalingen verwerkt. Bij een zeer kunstmatig opgebouwde betaling met veel aanbiedingen in een orderboek kon een rekenfout ontstaan. Daardoor kon het systeem volgens het rapport te weinig XRP afschrijven bij de koper, terwijl meerdere andere accounts wel volledig werden bijgeschreven.
Geen bewijs van misbruik
De bron noemt de tweede fout kritiek, omdat misbruik had kunnen leiden tot besteedbare XRP die niet had mogen bestaan. Tegelijk meldt het rapport dat er geen bewijs is gevonden dat dit op een openbaar netwerk is gebeurd.
Ook benadrukt het rapport dat de aanval niet per ongeluk kon ontstaan. Er waren honderden speciaal geplaatste aanbiedingen en een daarop afgestemde betaling nodig. Normale betalingen of gewone handel zouden volgens de bron dit pad niet bereiken.
Waarom dit anders werd opgelost
Normaal gaan wijzigingen in transactieregels op de XRP Ledger via een zogenoemd amendment. Dat is een stemproces waarbij validators, de partijen die het netwerk helpen valideren, steun moeten geven voordat een nieuwe regel actief wordt.
Voor de kritieke betaalbug is dat proces niet gebruikt. De oplossing ging direct gelden zodra een server naar xrpld 3.4.1 werd bijgewerkt. Volgens het rapport gebeurde dit omdat de fout ernstig was en omdat openbaar maken van de oplossing ook zichtbaar zou maken waar het probleem zat.
Dat bracht wel een tijdelijk risico mee. Tijdens het upgraden konden oude en nieuwe servers anders reageren op een misbruikpoging. Volgens het rapport was dat risico kleiner dan weken wachten terwijl een openbaar bekende fout nog misbruikt kon worden.
Wat merkt een gewone XRP-gebruiker?
Voor gewone XRP-houders meldt de bron geen directe actie, zoals het verplaatsen van XRP of het aanpassen van een wallet. De praktische actie lag bij serverbeheerders en validators: zij moesten upgraden naar xrpld 3.4.1 of nieuwer om goed met het netwerk te blijven werken.
De Batch-gerelateerde oplossing is inmiddels actief op Mainnet via een nieuw amendment. Volgens het rapport zijn oudere servers daardoor nu geblokkeerd door die wijziging als zij niet zijn bijgewerkt.
De bron meldt verder dat de broncode van xrpld 3.4.1 nu is gepubliceerd en dat het team extra controles aan het releaseproces wil toevoegen. Daarbij moeten eerder gemelde beveiligingsfouten opnieuw worden getest voordat een release als klaar wordt gezien.
Wat betekent dit voor XRP?
Het gaat om beveiligingsproblemen in de software achter het XRP Ledger. Eén probleem had volgens het rapport kunnen leiden tot het creëren van XRP als het was misbruikt, maar de bron meldt dat daarvoor geen bewijs is gevonden op openbare netwerken.
Meer weten over dit onderwerp?
Lees onze eigen uitleg bij de belangrijkste begrippen uit dit nieuwsbericht.