InvestFuture

В коде хардфорка Constantinople снова обнаружена уязвимость

Прочитали: 1023

Меньше чем за две недели до предполагаемой даты долгожданного обновления сети Ethereum в коде Constantinople найден еще один баг, который может быть использован злоумышленниками для кражи активов.

Уязвимость detected

Разработчик блокчейн-стартапа Indorse Раджив Гопалакришна сообщил о лазейке в коде обновления Constantinople, которая затрагивает часть смарт-контрактов и может привести к краже криптовалютных активов. Баг под названием Create2 позволяет заменить самоуничтожающийся смарт-контракт и изменить указанные в нем правила. С опасениями Гопалакришна согласились несколько участников форума об Ethereum, в том числе разработчик Ethereum Foundation Джейсон Карвер.

«Сейчас можно создать обычный контракт, у которого будет два возможных сценария — это (контракт существует):(обменять токены) и (контракт самоуничтожается):(израсходовать определенный объем газа). После обновления Constantinople сценарии могут быть следующими: (контракт существует):(обменять токены), (контракт самоуничтожается):(израсходовать определенный объем газа), (заменить контракт):(все ERC20-токены, предварительно одобренные для контракта, были украдены)».

Функция Create2 содержится в одном из предложений по улучшению Ethereum (EIP-1014), чья цель — возможность взаимодействовать со смарт-контрактов, который еще не существует в блокчейне. Этот EIP успешно прошел аудит ConsenSys и запланирован для развертывания в основной сети в ходе предстоящего хардфорка Constantinople.

Константинополь и Петербург

25 февраля на блоке № 7,280,000 состоятся два обновления в сети Ethereum — Constantinople и Petersburg.

Напомним, что сперва провести Константинополь планировалось в октябре 2018 года. Но тогда хардфорк был перенесен на более поздний срок в связи с проблемами при активации обновления в тестовой сети Ropsten. В протоколе Constantinople были обнаружены баги, связанные с различием между Ethereum-клиентами Parity и Geth, а также ошибка консенсуса в версии обновления для Parity.

Вторая попытка активировать Constantinople была запланирована на январь 2019 года. Но и она не была выполнена. На этот раз в одном из протоколов улучшения Ethereum (EIP-1283) за нескольо часов от запланированного хардфорка была обнаружена уязвимость, касавшаяся расчета газа, необходимого для выполнения транзакции. Активация уязвимого EIP могла привести к тому, что смарт-контракты были бы подвержены атакам типа Reentrancy, которые уже стали причиной многомиллионной кражи активов из децентрализованной автономной организации The DAO в 2016 году.

Хардфорк Петербург, который запланирован к активации одновременно с Константинополем, как раз призван отключить протокол EIP-1283, в котором были выявлены проблемы с уязвимостью типа Reentrancy.

Источник: CoinFox

Оцените материал:
(оценок: 22, среднее: 4.41 из 5)
Читайте другие материалы по темам:
InvestFuture logo
В коде хардфорка

Поделитесь с друзьями: