Перед подписью аппаратный кошелёк позволяет проверить адрес, сумму и действие на экране устройства. Но ошибка в Ethereum-приложении Ledger позволяла обойти эту защиту: пользователь видел одну операцию, а подписывал другую.
Уязвимость уже исправлена, однако Ledger почти не рассказывал о ней публично.
🔹 Что произошло
23 августа компания TestMachine раскрыла уязвимость в режиме clear signing, который показывает понятные сведения о транзакции или взаимодействии со смарт-контрактом. Атаку подтвердили на Ledger Flex.
🔹 Как работала атака
Пользователь подключал Ledger к вредоносному dApp и начинал подписывать транзакцию. Пока на экране отображались адрес, сумма и другие детали, dApp мог отправить команду, заменяющую исходную транзакцию.
Из-за ошибки Ethereum-приложение заменяло данные операции, но не запускало экран проверки заново. В результате обычный перевод токенов можно было подменить, например, на
approve, предоставляющий злоумышленнику доступ к активам.🔹 Нужно ли было взламывать Ledger
Нет. Приватный ключ оставался внутри устройства, сид-фраза также не раскрывалась.
Для атаки Ledger должен был быть подключён к компьютеру, Ethereum-приложение открыто, а пользователь должен был самостоятельно начать подпись и подтвердить операцию во вредоносном dApp.
🔹 Уязвимость уже исправлена
По словам CTO Ledger, команда Donjon обнаружила ошибку раньше внешних исследователей. Исправление вошло в Ethereum App 1.22.2, выпущенное 12 августа.
При этом в списке изменений Ledger указал только
Security issues, не объяснив суть проблемы. TestMachine опубликовала технические подробности уже после обновления. Поэтому на момент раскрытия пользователи актуальной версии приложения были защищены.🔹 Есть ли пострадавшие
Подтверждённых случаев кражи средств через эту уязвимость нет. Получить приватные ключи с её помощью также было нельзя: ошибка затрагивала процесс формирования и подтверждения транзакции.
🔹 Что делать владельцам Ledger
Обновите Ethereum App до версии 1.22.2 или новее. Менять сид-фразу или переводить активы на другой кошелёк не требуется.
Проверять данные на экране по-прежнему необходимо. Но эта история показала, что clear signing зависит от программной реализации, а значит, в самом механизме проверки тоже могут возникать ошибки.
Если среди ваших знакомых есть владельцы Ledger, перешлите им этот пост. Возможно, кто-то ещё не обновил Ethereum-приложение.
▪️Магазин▪️Техподдержка▪️Обменник▪️Канал Keystone ▪️Блог Владимира ▪️Написать менеджеру





