Уязвимость на Coinbase, позволяющая зачислять любое количество эфира
21 марта на бирже Coinbase был обнаружен сбой в обработке входящих транзакций в ETH, который позволил пользователям манипулировать состоянием своих счетов. Исследователи заметили, что, используя умный контракт, любой пользователь мог добавить сколько угодно эфиров на свой баланс. Несмотря на то, что баг был обнаружен лишь несколько дней назад, сообщается, что он существовал с декабря прошлого года. Coinbase выплатила вознаграждение в 10 000 долларов исследовательской компании Vicompany, обнаружившей ошибку.
«Исследователи заметили проблему с нашим кодом приема ETH при получении его из контракта. Эта ошибка позволяла получить ETH на Coinbase, даже если выполнение основного контракта не удалось», — говорится в заявлении платформы. «Проблема была устранена путем изменения логики обработки контракта. Анализ проблемы указывал только на случайные убытки для Coinbase и на отсутствие попыток злонамеренного использования ошибки».
Согласно Vicompany, мошенник мог манипулировать своим балансом эфира, используя умный контракт для распределения эфиров по набору кошельков. Vicompany объясняет, что, если одна из внутренних транзакций завершится неудачей, все предыдущие транзакции будут отменены. Однако в интерфейсе Coinbase транзакции не отменялись. Исследователи отмечают:
«На Coinbase подобные транзакции не будут отменены, а это означает, что кто-то может добавить столько эфира на свой баланс, сколько захочет».
Coinbase — не единственная биржи, которая страдает от ошибок, позволяющих пользователям манипулировать балансами. В феврале этого года сбой в работе японской биржи Zaif позволилтрейдерам бесплатно «покупать» биткоины. За месяц до этого инцидента в Overstock произошел сбой API, приведший к тому, что компания по ошибке принимала оплату за товары в BCH вместо BTC.