Специалисты по безопасности Cisco сообщили о «множестве уязвимостей» в популярных клиентах Ethereum
Специализирующееся на киберугрозах подразделение технологического конгломерата Cisco Systems Inc. обнаружило целый ряд уязвимостей в программном обеспечении Ethereum-клиентов Parity и Ethereum C++ (CPP).
Vulnerability Spotlight: Multiple Vulnerabilities in the CPP and Parity Ethereum Client https://t.co/qHWt2XrOWu pic.twitter.com/U0QJFJMPLD
— Talos Group (@TalosSecurity) January 9, 2018
Как пришли к выводу специалисты Cisco, неправильная обработка смарт-контрактов операционным кодом create2 может спровоцировать DoS-атаку. Злоумышленник может задействовать функцию SHA1 для обработки огромного количества данных.
Внедрение create2 в основную сеть Ethereum запланировано в рамках второй фазы хардфорка Metropolis под названием Constantinople.
Указанная уязвимость на данный момент угрожает только тем нодам, которые уже используют опкод create2. Однако в потенциале сеть Ethereum может столкнуться с риском одновременной атаки на все ноды сразу после осуществления хардфорка, когда create2 войдет в список настроек по умолчанию.
Кроме того, считают в Cisco, злоумышленник может получить конфиденциальные информацию в виде адреса смарт-контракта в результате утечки данных в виртуальной машине Ethereum (EVM).
ПО Ethereum-клиента Parity написано на языке программирования Rust и по умолчанию предоставляет интерфейс JSON-RPC, поддерживающий довольно “либеральную” политику кросс-доменных запросов. При посещении вредоносных сайтов неправильная конфигурация daemon-потока интерфейса может привести к утечке конфиденциальной информации. Кроме того, злоумышленник может получить доступ к установкам Parity и конфигурации сети.
Специалисты по безопасности также отмечают, что многие API в CPP в имплементации интерфейса JSON-RPC подвержены риску вредоносных JSON-запросов, которые могут помочь злоумышленнику получить права администратора к ограниченному функционалу таких API в обход процесса авторизации.
Примечательно, что даже преобразователь IP-адресов в этом случае остается незащищенным от CSRF- и SSRF-атак.
Уязвимость в серверной имплементации JSON-RPC также может стать лазейкой для потенциальной DoS-атаки. Из-за ошибок в обработке некоторых API злоумышленник может отправить неправильно скомпилированный JSON-пакет и заблокировать таким образом нормальную работу ноды.
Напомним, Ethereum-сообщество по-прежнему находится в поисках возможных способов разблокировки средств на мультисиг-кошельках Parity без необходимости проведения хардфорка, хотя в Parity Technologies неоднократно призывали к обновлению сети Ethereum.