Een beveiligingsonderzoek van SlowMist onthult een kritieke fout in een Ethereum smart contract die tot massale diefstal leidt. Aanvallers weten ongeveer 14,4 ETH weg te sluizen door gebruik te maken van een opslagbotsing tussen twee onderdelen van de code. Dit gebeurde op een moment dat Ethereum rond de $1.610 handelt.
Ethereum is verkrijgbaar bij Bitvavo en Bybit.
Opslag slot collision veroorzaakt miljoenendiefstal
Het probleem ontstaat door een botsing tussen twee verschillende functies in het ATOHook contract. De rewards mapping en de reentrancy guard van Solady (een veelgebruikte beveiligingsbibliotheek) gebruiken dezelfde opslagplek. Dit leidt ertoe dat de sentinel waarde van de reentrancy guard (0xffffffffffffff) tegelijkertijd wordt gelezen als een beloningsbedrag.
Doordat deze opslag slot collision optreedt, kan een aanvaller kunstmatig hoge beloningen claimen. De getReward functie wordt beschermd door een nonReentrant modifier, maar de modifier schrijft eigenlijk de verdedigingsmechanisme naar dezelfde plek waar de beloningen worden opgeslagen. Dit creëert een dubbel gebruik van dezelfde geheugenlocatie.
Aanvaller weet 200 keer achter elkaar geld op te nemen
De aanvaller (opgelister als 0x2d2aafc193c24e59bd16139056ac9b4df4d37ad0) kan dankzij deze fout 200 keer achtereenvolgens beloningen claimen. Elke keer wordt het ingeblazen bedrag als ETH uitbetaald, wat resulteert in een totaal verlies van 14,4 ETH voor het slachtoffer.
SlowMist toont aan dat dit een gevolg is van onvoldoende testing en architectuurfouten in het contract. De kollisie tussen rewards accounting en de reentrancy guard-opslag maakt het mogelijk om het beveiligingsmechanisme volledig te omzeilen en onbeperkt middelen af te tappen.
Hoe zulke fouten voorkomen kunnen worden
Dit incident benadrukt het belang van grondige code audits en het juist begrijpen van onderliggende blockchain-architectuur. Bij het werken met bekende bibliotheken zoals Solady is het cruciaal om te weten hoe deze intern opslag slots gebruiken. Een simpele configuratiewijziging of het verplaatsen van één mapping kan zo’n catastrofale botsing voorkomen.
Ontwikkelaars moeten zich bewust zijn dat opslagcollisies niet alleen theoretisch gevaar vormen. Ze kunnen rechtstreeks exploiteerbaar zijn en miljoenenbedragen kosten. Het slachtoffer in dit geval ondervindt de gevolgen van een voorkoombare fout die via proper auditing had moeten worden gedetecteerd.
Blijf altijd op de hoogte van het laatste crypto nieuws via Google Nieuws.
Ontvang 10 euro gratis Ethereum
Jouw cryptoavontuur starten met €10 gratis Ether? In samenwerking met Bitvavo mogen wij vandaag 10 euro aan gratis Ethereum of een andere crypto weggeven aan onze lezers (na een storting van minimaal 10 euro).
Maak via onderstaande knop een account aan en je ontvangt een welkomstbonus van 10 euro. Ook handel je de eerste €10.000 binnen de eerste 7 dagen na je registratie helemaal gratis (t.w.v. €25). Alle voorwaarden vind je op de pagina onder de knop.
