Aanvaller buit bij Radix mogelijk $1,3 miljoen
Blockchain ruim tien dagen buiten gebruik
Een onbekende actor haalde op 31 augustus bij blockchain Radix in 26 transacties voor mogelijk $1,3 miljoen aan cryptomunten weg. Die waardering komt van nieuwssite CryptoSlate en gebruikt de marktprijzen van die dag. De Radix Foundation, die de respons coördineerde, publiceerde op 17 september haar incidentrapport. Validators legden de blockchain stil omdat in beginsel iedere digitale kluis gevaar liep.
De actor misbruikte een autorisatiefout in de Radix Engine, de uitvoeringslaag voor transacties en toegangsregels. Eigen computercode kon een beperkt toegankelijke verwijzing naar zo’n kluis doorgeven en er daarna gewone opnamemethoden op loslaten. De engine verloor daarbij de herkomst van de verwijzing uit het oog en liet de onbevoegde opname toe.
Tussen 16.02 en 16.57 uur UTC voerde de actor 26 exploittransacties uit. Daarbij verdwenen zes soorten via cryptobrug Hyperlane verpakte cryptomunten. Alleen de twee aan de dollar gekoppelde munten hadden samen al een nominale waarde van $531.335.
Fout overleeft controle
De fout ontstond volgens het incidentrapport in juni 2023 tijdens een opruiming van de code door protocolontwikkelaar RDX Works. Beveiligingsbedrijf Hacken had de engine vóór die wijziging gecontroleerd. Auditor Zellic onderzocht in augustus 2024 ook het deel van de engine waarin de fout zat, maar zag haar toen over het hoofd. Zellic publiceerde zes andere bevindingen: drie middelzware, twee lichte en één informatieve.
Privésleutels en bijzondere beheerdersrechten bleven intact. De fout zat in Radix Engine; Hyperlane verwerkte de munten nadat ze op Radix waren verkregen. De activa gingen via die verbinding naar de blockchains Ethereum, BNB Chain en Solana. Volgens de Radix Foundation werden ze kort daarna voor ethereum verkocht.
De grootste transactie riep 61 functies aan, verwees naar 60 kluizen en nam cryptomunten uit 59 accounts en onderdelen. Daaronder zaten 36 gebruikersaccounts, dertien handelsreserves en dertien onderdelen van cryptotoepassingen. Het totale aantal getroffen gebruikers over alle transacties blijft onbekend.
Validators stoppen bevestiging
De Radix Foundation, bestuurders en belangrijke validators besloten om 20.30 uur UTC de definitieve bevestiging van nieuwe transacties stil te leggen. Validatoroperators haalden vrijwillig en gecoördineerd genoeg ingelegde munten offline om overeenstemming onmogelijk te maken. Om 22.36 uur stond volgens een meting ruim 48 procent van de gedelegeerde inleg offline.
Het laatste blok werd op 31 augustus om 21.19 uur UTC vastgelegd. Gebruikerstransacties hervatten pas op 11 september om 11.39 uur UTC. De uitval duurde 254 uur, 15 minuten en 40 seconden. Van de eerste zeventien gebruikerstransacties na de hervatting mislukten er vijf.
De grootboekreconstructie van RADIX Wiki legt die hervatting vast. De statusregel in het incidentrapport van de Foundation meldde op 17 september nog dat herstel bezig was en plaatste de laatste transactie vóór het verlies van de definitieve bevestiging. Die versies botsen.
De reparatie controleert voortaan vóór iedere methodeaanroep of de afzender de juiste bevoegdheid heeft. Een live poging met code die kluizen moest legen, werd na de hervatting geweigerd. De Foundation zegt dat beveiligingsbedrijven de reparatie en de nodesoftware beoordeelden.
De Foundation deed op 2 september aangifte bij de politie van Jersey en via het Britse meldpunt Action Fraud. Terugwinning, teruggave of compensatie is niet vastgesteld. Ook de huidige locatie van de volledige buit is onbekend.
Voor wie het op de blockchain wil naslaan: op Ethereum ontving 0x626d7Be5c2F2b6E9bAa542e25b6313Ac91d47cD2 onder meer alle buitgemaakte USDT en circa 6,3 verpakte bitcoin; vanaf 16.44 uur gingen saldi door naar 0x225a38bc71102999Dd13478BFaBD7c4d53f2DC17.
