Een fout in de Vyper-taal is de schuldige
Aanvallers maakten misbruik van een kwetsbaarheid in sommige liquiditeitspools van Curve, het populaire gedecentraliseerde financiële protocol (DeFi). De kwetsbaarheid is terug te voeren op Vyper, een alternatieve programmeertaal voor Ethereum smart contracts.
In feite werden verschillende van Curve’s pools die Vyper gebruikten misbruikt, wat resulteerde in verliezen van naar schatting $41 miljoen volgens beveiligingsbedrijf BlockSec. Vyper versies 0.2.15, 0.2.16 en 0.3.0 bleken kwetsbaar te zijn voor een reentrance aanval.
Concreet gebeurt dit wanneer een smart contract-functie een externe oproep doet naar een ander onbetrouwbaar smart contract. Deze laatste doet dan een recursieve oproep naar de originele functie om geld af te tappen. Omdat het slimme contract zijn status niet bijwerkt voordat het geld wordt verzonden, kan de aanvaller continu de opnamefunctie aanroepen om het geld af te tappen.
Volgens een analyse van beveiligingsbedrijf Ancilia gebruikten 136 slimme contracten Vyper 0.2.15, 98 slimme contracten Vyper 0.2.16 en 226 slimme contracten Vyper 0.3.0:
We hebben een snelle run op github gedaan.
136 contracten gevonden gecompileerd met vyper 0.2.15 en reentrant bescherming gebruikt;
98 contracten gevonden met versie 0.2.16
226 contracten gevonden met versie 0.3.0– Ancilia, Inc (@AnciliaInc) July 30, 2023
Als gevolg hiervan zijn verschillende pools volledig van liquiditeit ontdaan:
- Curve’s CRV-ETH pool: $14m verlies
- Alchemix’s alETH-ETH pool: verliezen van $13,66 miljoen;
- JPEG’s pETH-ETH pool: $11,4 miljoen verlies;
Metronome’s sETH-ETH pool: verliezen van $1,6 miljoen.
Op Twitter legde Vyper uit dat de storing te wijten was aan de compiler van de programmeertaal, die in sommige gevallen gefaald had. Daardoor werkten de beveiligingen tegen reentrance-aanvallen niet.
De CRV-token daalt sterk
Na de aanval op de pools van Curve begon de prijs van CRV aan een snelle daling. CRV daalde van $0,70 naar $0,59 in slechts 60 minuten tijd, een daling van ongeveer 16%:

Ontwikkeling van de CRV-prijs na de aanval