В Solv изобрели вечный двигатель для выпуска монет, но есть нюанс. Он работает только на хакеров

Биткоин-протокол Solv потерял 2,7 миллиона долларов в результате хакерской атаки.


o52q622qj9t5o4r4g7b57tdmnzxv7osx.jpg

Протокол Solv, работающий поверх блокчейна Bitcoin, пережил атаку на смарт-контракт . Злоумышленник воспользовался ошибкой в логике выпуска токенов и вывел активы примерно на 2,7 млн долларов.

Solv выступает резервным протоколом. Пользователь может обменять биткоины на токены SolvBTC, после чего задействовать активы в других блокчейнах для стейкинга, кредитования и займов. В марте 2026 года уязвимость обнаружили в хранилище BRO. Ошибка в смарт-контракте позволила злоумышленнику выпускать токены повторно.

Проблема скрывалась в контракте BitcoinReserveOffering. Разработчики допустили ошибку двойного выпуска токенов. При внесении NFT-токена стандарта ERC-3525 контракт создавал новые токены. Во время операции происходил дополнительный вызов функции обработки NFT, который запускал выпуск ещё раз.

Причина кроется в устройстве стандарта ERC-3525. Формат построен поверх ERC-721, поэтому при безопасной передаче токена контракт обязан вызвать специальную функцию получения NFT. Контракт хранилища сначала принимал токен через функцию doSafeTransferIn и выпускал новые токены BRO. Затем автоматически срабатывала функция onERC721Received, которая запускала выпуск повторно. Второй выпуск происходил раньше завершения первого. Подобный сценарий называют атакой повторного входа .