🚨 $2.5M Khai thác @SolvProtocol Lỗi Double Mint Giao thức đã bị khai thác do một lỗ hổng double mint giữa mint() và onERC721Received(). Kẻ tấn công Giao dịch tấn công Hợp đồng nạn nhân Nó đã xảy ra như thế nào? 🧵👇
Vấn đề xảy ra khi mint() chuyển một NFT. Quy trình: 1️⃣ mint() gọi doSafeTransferIn() 2️⃣ Chuyển NFT kích hoạt onERC721Received() 3️⃣ Callback mint các token BRO cho kẻ tấn công 4️⃣ Kiểm soát trở lại mint() và mint lại Cùng một NFT - token được mint hai lần burn() chuyển đổi BRO trở lại thành giá trị ERC-3525: sftValue = amount * decimals / exchangeRate Kẻ tấn công đã lợi dụng điều này với một vòng lặp: mint → burn → mint (22 lần) Kết quả: 135 BRO → 567M BRO chỉ với một NFT Kẻ tấn công sau đó đã hoán đổi: BRO → SolvBTCV3 → WBTC → WETH Lợi nhuận cuối cùng: 1211 ETH (~$2.5M).
1,41K