🚨 $2.5M Wykorzystanie @SolvProtocol Błąd podwójnego mintowania Protokół został wykorzystany z powodu luki w podwójnym mintowaniu między mint() a onERC721Received(). Napastnik Transakcja ataku Umowa ofiary Jak to się stało? 🧵👇
Problem występuje, gdy mint() transferuje NFT. Przebieg: 1️⃣ mint() wywołuje doSafeTransferIn() 2️⃣ Transfer NFT uruchamia onERC721Received() 3️⃣ Callback mintuje tokeny BRO dla napastnika 4️⃣ Kontrola wraca do mint(), który mintuje ponownie Ten sam NFT - tokeny mintowane dwa razy burn() konwertuje BRO z powrotem na wartość ERC-3525: sftValue = amount * decimals / exchangeRate Napastnik nadużył tego w pętli: mint → burn → mint (22 razy) Wynik: 135 BRO → 567M BRO używając jednego NFT Napastnik następnie wymienił: BRO → SolvBTCV3 → WBTC → WETH Ostateczny zysk: 1211 ETH (~$2.5M).
1,39K