Уязвимость в системе смарт-контрактов криптовалютной площадки Coinbase позволяла пользователям зачислять на свои счета неограниченное количество Ethereum. Проблему обнаружили специалисты компании VI Company.
В отчёте экспертов говорится:
Используя смарт-контракт для распределения ETH по набору кошельков, вы можете манипулировать остатком по счёту на Coinbase. Если одна из транзакций в смарт-контракте не проходит, все транзакции, идущие перед ней, отменяются. Однако на Coinbase эти транзакции не отменяются, а значит, человек может добавить на свой счёт столько Ethereum, сколько захочет.
Таким образом, чтобы воспользоваться дырой, владелец нескольких нормальных и одного повреждённого кошелька на Coinbase должен был перевести нужную сумму на смарт-контракт и выполнять его сколько угодно раз. При этом обозначенная сумма никогда не будет покидать пределов смарт-контракта, так как на последнем кошельке будет происходить отмена транзакции. После этого останется лишь вывести средства.
Представители VI Company предоставили скриншот, который подтверждает их слова:
Достоверно неизвестно, успел ли кто-то из клиентов площадки воспользоваться уязвимостью. Так что гарантированно заработали на неё лишь представители VI Company — компания получила 10 тыс. долларов за предоставленную информацию.