🚨 $2.5M Эксплуатация @SolvProtocol Двойной Mint Баг Протокол был скомпрометирован из-за уязвимости двойного минтинга между mint() и onERC721Received(). Атакующий Транзакция атаки Контракт жертвы Как это произошло? 🧵👇
Проблема возникает, когда mint() передает NFT. Процесс: 1️⃣ mint() вызывает doSafeTransferIn() 2️⃣ Передача NFT вызывает onERC721Received() 3️⃣ Обратный вызов создает токены BRO для злоумышленника 4️⃣ Управление возвращается в mint(), который снова создает токены Один и тот же NFT - токены созданы дважды burn() конвертирует BRO обратно в значение ERC-3525: sftValue = amount * decimals / exchangeRate Злоумышленник злоупотребил этим с помощью цикла: mint → burn → mint (22 раза) Результат: 135 BRO → 567M BRO, используя один NFT Злоумышленник затем обменял: BRO → SolvBTCV3 → WBTC → WETH Итоговая прибыль: 1211 ETH (~$2.5M).
1,49K