Биржи останавливают работу с токенами стандарта ERC-20

Годы идут - ничего не меняется. Люди по прежнему пишут уязвимые смарт-контракты, допуская детские ошибки.

22 апреля (аккурат на день рождение Ленина. Совпадение? Не думаю) в сети стала распространятся информация о уязвимости batchOverflow 

Криптовалютная биржа OKEx распространила сообщение, что уязвимость позволяет генерировать любые объемы токенов и переводить их на адреса стандартных кошельков. Поэтому, используя уязвимость, рынок токенов ERC-20 может подвергнуться манипуляциям. Биржей OKEx принято решение временно приостановить операции с токенами ERC-20 до полного устранения недостатков. Кроме того биржа разослала всем участникам рынка предупреждение о создавшейся ситуации, и призвала проверить свои смарт-контракты.

На бирже Huobi зарегистрирована успешная транзакция, в результате которой было создано токенов ERC-20 на 880 трлн долларов. В связи с этим биржа блокирует все транзакции с криптовалютой.

По сути уязвимость это классический integer overflow. 

Как указано в строке 257, локальная переменная суммы перевода вычисляется как произведение cnt и _value. Второй параметр, т. е. _value, может быть произвольным 256-битным целым числом, например 0x8000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000. Имея двух получателей (_receivers), переданных в batchTransfer (), с этим чрезвычайно большим значением, мы можем переполнить сумму перевода и сделать ее равной нулю. При обнулении суммы злоумышленник может затем пройти проверки  в строках 258-259 . Самое интересное: как показано в строках 262-265, эта огромная сумма будет добавлена на кошельки двух получателей, при этом у отправителя не спишется ни токена - см. строку 261!

В сети находятся более десятка контрактов с подобной уязвимостью, а сколько еще появится путем бездумного copy&paste. 

Любопытно, что атакующий, в случае если уязвимый токен (такой как BEC) торгуется на бирже, может одномоментно полностью обрушить курс, ведь у него в распоряжении токенов может быть больше чем totalSupply.


токеныerc20биржысмарт-контракты
1
0 GOLOS
0
В избранное
dzentota
На Golos с 2017 M09
1
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (1)
Сортировать по:
Сначала старые