В Hyperbridge взломали шлюзовой контракт и выпустили 1 млрд токенов DOT
В шлюзовом контракте Hyperbridge обнаружили эксплойт.
Атакующий подделал сообщение, сменил администратора контракта токена Polkadot в сети Ethereum, затем отчеканил 1 млрдтокенов и продал их.
По оценке, прибыль составила около $237 тыс.
Суть атаки — в ошибке проверки: при leafCount = 1 упрощенная функция MerkleMountainRange.CalculateRoot() не связывала proof с самим запросом, из-за чего стало возможно повторное использование старого доказательства.
Дальше уязвимость проходила по цепочке глубже.
В handleChangeAdmin() контракт сверял request.source, но это поле атакующий мог прочитать и подставить сам. В итоге содержимое incoming.request.body проходило дальше без нужной проверки и позволило сменить администратора именно у токена Polkadot.
👍1
Обсуждение
0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram