🚨 $2,5M Exploit @SolvProtocol Double Mint Bug Das Protokoll wurde aufgrund einer Double Mint-Schwachstelle zwischen mint() und onERC721Received() ausgenutzt. Angreifer Angriffs-TX Opfervertrag Wie ist das passiert? 🧵👇
Das Problem tritt auf, wenn mint() ein NFT überträgt. Ablauf: 1️⃣ mint() ruft doSafeTransferIn() auf 2️⃣ NFT-Übertragung löst onERC721Received() aus 3️⃣ Callback mintet BRO-Token an den Angreifer 4️⃣ Kontrolle kehrt zu mint() zurück, das erneut mintet Dasselbe NFT - Token wurden zweimal gemintet burn() konvertiert BRO zurück in den ERC-3525-Wert: sftValue = amount * decimals / exchangeRate Der Angreifer missbrauchte dies mit einer Schleife: mint → burn → mint (22 Mal) Ergebnis: 135 BRO → 567M BRO mit einem einzigen NFT Der Angreifer tauschte dann: BRO → SolvBTCV3 → WBTC → WETH Endgewinn: 1211 ETH (~2,5 Millionen $).
1,4K