В коде обновления Ethereum Constantinople обнаружена очередная уязвимость
15/02/19
Разработчики Ethereum Foundation сообщили о новой уязвимости в готовящемся к выпуску обновлении сети Constantinople. По данным издания Trustnodes, проблема затрагивает некоторые смарт-контракты с возможностью самоуничтожения.
Как пояснил один из разработчиков Джейсон Карвер (Jason Carver), проблема связана с новой функцией под названием Create2, которая может заменить самоуничтожившийся смарт-контракт, таким образом изменив указанные в нем правила, что потенциально может привести к утрате средств.
«Можно создать довольно безобидный контракт до Constantinople, такой, чтобы у него было два возможных исхода транзакции: {‘контракт существует’: ‘обменять токены’, ‘контракт самоуничтожается’: ‘израсходовать определенный объем газа’}. После Constantinople сценарии могут быть следующими: {‘контракт существует’: ‘обменять токены’, ‘контракт самоуничтожается’: ‘израсходовать определенный объем газа’, ‘заменить контракт’: ‘все предварительно одобренные для контракта ERC20-токены украдены’}», - отметил разработчик.
По его словам, в текущей версии протокола функция не представляет дополнительные риски, однако после обновления код может быть использован для хищения всех выделенных токенов смарт-контракта.
Разработчики порекомендовали пользователям внимательно изучать код смарт-контракта на предмет наличия функции самоуничтожения (без надлежащего периода неактивности) и если она есть, не взаимодействовать с ним.