Уязвимость в Ethereum-кошельке Parity заморозила активы на 285 миллионов долларов

Программист использовал уязвимость в исходном коде кошелька Parity для блокировки сотен миллионов долларов на аккаунтах пользователей.
Ethereum Parity

Parity Technologies, компания-разработчик популярного электронного кошелька Parity, сообщила о найденной проблеме, заморозившей Ethereum-кошельки пользователей.

Группа риска

Данная уязвимость затрагивает только созданные после 20 июля 2017 года кошельки с мультиподписями, в которых для осуществления перевода необходимо предоставить подписи нескольких человек. Другими словами, большинство проведённых с того времени ICO (initial coin offerings, первичное размещение криптовалюты) попадают в группу риска.

Баг в исправлении другого бага

В заявлении компании отмечается, что баг находился в предыдущем патче от 20 июля, который, в свою очередь, исправлял ошибку в системе безопасности. С её помощью злоумышленникам удалось украсть со счетов многих пользователей порядка 30 миллионов долларов. Также представители Parity Technologies добавили:

Обновление кошелька от 20 июля содержало баг, позволявший превращать библиотеку смарт-контракта кошелька Parity в кошелёк с мультиподписями и становиться его владельцем, вызывая функцию initWallet. Оказалось, что некий пользователь воспользовался этим багом, превратив библиотеку контрактов в кошелёк, при этом сделав контракты с мультиподписями непригодными, поскольку вся их логика содержалась в коде библиотеки.

Проблема, по всей видимости, связана с тем, что кошелёк Parity подчиняется принципам работы смарт-контрактов.

Ущерб на миллионы долларов

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

Список кошельков содержит более 70 счетов, на которых содержится порядка 900 тысяч монет Ethereum. В денежном эквиваленте эта сумма равна 285 миллионам долларов. Точное количество замороженных кошельков и фактический ущерб могут быть на порядок выше. Представители Polkadot уже подтвердили заморозку одного из своих кошельков с суммой в 90 миллионов долларов.

Решение проблемы

Остаётся неясным, как именно Parity Technologies будут размораживать счета пользователей. Одним из предлагаемых решением является hard-fork, при котором разработчики в одностороннем порядке создают новую версию сети, часть правил которой отличается от оригинальной. Однако, данный способ до сих пор не получил поддержки у большинства пользователей.

Цена Ethereum после новости об обнаружении уязвимости упала с 305 $ до 291 $, тем самым достигнув минимума за две недели торгов.

Ethereum Parity

Источник: Bleeping Computer