Ledger устранил уязвимость в Ethereum-приложении, позволявшую подменять подписываемые транзакции
Сводка рынка от ИИ
Ledger устранила уязвимость в своём приложении Ethereum (исправлено в v1.22.2), которая могла позволить вредоносному веб-приложению воспользоваться состоянием гонки, чтобы подменить данные транзакции после проверки, потенциально превращая безобидные действия во вредоносные одобрения. Хотя ни приватные ключи, ни прошивка не были скомпрометированы и о подтверждённых потерях не сообщается, инцидент подчёркивает операционный риск для пользователей Ethereum/ERC-20, взаимодействующих с dApp через WebHID, и может снизить краткосрочную готовность к риску в активности, связанной с ETH.
Степень влияния
● Средний
Затронутые активы
ETH/USDT-1.32%
Инсайт ИИ · ETH/USDTИнсайт ИИ
▼ Медвежий
Торговать
⚠️ Инсайты, сгенерированные ИИ, основаны на новостном контенте и предоставляются исключительно в информационных целях. Они не являются инвестиционной рекомендацией и не отражают позицию BingX. Торговля сопряжена с риском. Пожалуйста, торгуйте ответственно.
Владельцам Ledger, которые используют устройство для хранения ETH или токенов ERC-20, стоит открыть Ledger Live и проверить версию установленного Ethereum-приложения на самом девайсе. Все версии ниже 1.22.2 не содержат важного исправления безопасности. Уязвимость била по ключевому обещанию аппаратного кошелька: экран должен показывать ровно то, что устройство собирается подписать.
Публичной история стала 24 августа 2026 года, когда исследовательская компания TestMachine опубликовала разбор. Само исправление к тому моменту уже существовало. Дальше начался спор о том, кто первым обнаружил проблему и когда Ledger фактически поставил патч пользователям. Для владельца устройства это вторично: критично лишь, какая версия Ethereum-приложения стоит сейчас и какие разрешения вы могли выдать ранее.
Что именно сломалось
Речь не о прошивке устройства и не о компрометации приватного ключа. Проблема находилась в Ethereum-приложении — отдельном модуле, который устанавливается на Ledger для работы с ETH и ERC-20. Оно формирует транзакцию, выводит данные на экран и запрашивает подтверждение.
В уязвимых версиях последовательность "показать → подтвердить → подписать" могла нарушаться. Вредоносное веб-приложение, имеющее доступ к подключенному устройству, было способно отправить вторую команду на подпись, пока первая транзакция еще отображалась на экране и ожидала проверки. В результате данные в памяти подменялись без вывода нового экрана для повторной верификации. На дисплее оставалась "безобидная" операция, которую вы только что проверили, но подтверждение применялось к уже подмененным данным.
По данным исследователей, этот сценарий воспроизводился на Ledger Flex. Поскольку устройства во многом используют общий код Ethereum-приложения, потенциально подверженными также считаются Nano X, Nano S Plus, Stax и Apex. Ledger не уточнял, в какой версии ошибка появилась впервые; сравнение исследователей начинается с 1.22.1 — последнего отмеченного релиза от 27 мая 2026 года.
Почему clear signing — главный смысл аппаратного кошелька
Clear signing — это вывод на экран аппаратного кошелька полного содержания транзакции понятным текстом перед подтверждением: адрес получателя, сумма, а для вызовов контрактов — какое действие выполняется контрактом. Именно ради этого аппаратный кошелек и покупают: компьютер может быть заражен, браузер — показывать подмененный интерфейс, сайт — оказаться фишинговым. Если независимый экран устройства отображает реальные данные, подмена заметна до нажатия кнопки.
В описанном случае ключ оставался внутри устройства, прошивка не затрагивалась, но пользователь мог подтвердить не то, что прочитал. Если экран перестает быть "обязательной истиной", то в этом аспекте аппаратный кошелек становится сопоставим с программным кошельком на скомпрометированном ПК.
Техническая суть: race condition и команды APDU
Race condition — ошибка, при которой результат зависит от того, какая из двух почти одновременных команд будет обработана первой. Такие баги коварны: по отдельности код выглядит корректным, а сбой проявляется редко — чаще всего только если порядок специально "подстроить".
APDU — формат команд, которыми смарт-карты и аппаратные кошельки обмениваются данными с подключенным компьютером. Подпись транзакции состоит из нескольких таких шагов. В Ethereum-приложении велось состояние, описывающее, какая транзакция сейчас находится на экране для проверки. Это состояние можно было перезаписать еще до завершения просмотра.
Почему сайт вообще может разговаривать с устройством: WebHID
WebHID — интерфейс в браузере, позволяющий сайту напрямую взаимодействовать с USB-устройством после явного разрешения пользователя. Без этого аппаратный кошелек трудно использовать внутри dApp; с этим — сайт оказывается ближе к устройству, чем многие предполагают.
Для атаки необходимо, чтобы пользователь уже предоставил доступ WebHID подмененному или взломанному сайту и инициировал там транзакцию. Удаленно, по устройству, лежащему в ящике, такой сценарий не работает. Это сужает круг риска, но не обесценивает проблему: те, кто регулярно пользуется DEX, мостами или стейкинг-интерфейсами, выдают такие разрешения постоянно.
Подмена перевода на approval: почему опасны "безлимитные" разрешения
В подобных схемах основной ущерб обычно связан не с разовым переводом, а с тем, что его можно заменить. Token approval — это разрешение смарт-контракту списывать ваши токены в будущем без отдельного подтверждения каждой операции. Во имя удобства многие приложения запрашивают разрешение на неограниченную сумму.
Важно: выданный approval не истекает сам по себе и действует, пока вы его явно не отзовете.
Перевод и approval — принципиальная разница
Перевод ограничен тем объемом, который вы подтверждаете. "Безлимитный" approval в худшем случае дает возможность вывести весь баланс соответствующего токена в момент, который выберет получатель. Поэтому подмена небольшой транзакции на широкое разрешение — один из наиболее выгодных сценариев атаки на процесс подписи.
Обновление Ethereum-приложения до 1.22.2 через Ledger Live
Версия 1.22.2 закрывает описанный путь двумя механизмами: приложение не принимает новую сессию подписи, пока идет просмотр, и отклоняет подтверждение, если внутреннее состояние больше не соответствует тому, что было показано на экране. В обзоре релиза Ethereum-приложения у Ledger указано лишь наличие исправлений безопасности без раскрытия деталей.
Обновление выполняется стандартно: подключите устройство, откройте менеджер приложений в Ledger Live и обновите Ethereum-приложение. Балансы не страдают: ключи выводятся из recovery phrase и не "хранятся" внутри приложения. Удаление и повторная установка приложения также не "сжигают" монеты.
Как проверить, какая версия установлена
В Ledger Live в менеджере устройства у каждого приложения отображается номер версии. Если указано 1.22.2 или выше — патч установлен. Если 1.22.1 или ниже — исправления нет. Проверка версии самого Ledger Live не решает задачу.
Почему обновление прошивки не обновляет Ethereum-приложение
На практике многие ошибаются именно здесь. Прошивка устройства, Ledger Live и отдельные приложения монет обновляются отдельно. Можно обновить firmware и успокоиться, сохранив при этом устаревшее Ethereum-приложение. Эта же раздельность объясняет, почему в обсуждениях безопасности кошельков часто возникает путаница: в одном кейсе проблема в seed, в другом — в прошивке, здесь — на уровень выше, в заменяемом приложении. Перегенерировать recovery phrase в данном случае не требуется.
Второй шаг после обновления: проверить и отозвать старые approvals
Патч защищает будущие подписи, но не отменяет уже выданные ранее разрешения. Если вы активно пользовались dApp в последние месяцы, имеет смысл проверить, какие approvals висят на вашем адресе. Блок-эксплореры и специализированные сервисы показывают, каким контрактам разрешено распоряжаться какими токенами. Ненужные разрешения можно отозвать по одному.
Отзыв — это обычная транзакция, за нее взимается комиссия сети. Удобнее делать "уборку" в периоды низких комиссий. Еще один практический нюанс: каждый revoke попадает в историю транзакций и создает затраты; тем, кто аккуратно ведет учет, проще готовить следующую налоговую отчетность — многие налоговые и портфельные инструменты подтягивают такие события автоматически.
Спор о раскрытии: версии Ledger и TestMachine
Стороны описывают хронологию по-разному; обе версии приводятся как заявления соответствующей стороны и независимого подтверждения не имеют.
Технический директор Ledger Шарль Гийемэ (Charles Guillemet) заявил, что ошибка была обнаружена внутренней лабораторией Ledger Donjon, а исправление было поставлено примерно за две недели до публикации анализа. По его словам, TestMachine обратилась в программу bug bounty уже позже. Заявления компании он охарактеризовал как попытку нагнать страх ради внимания.
TestMachine утверждает, что уязвимость нашла их автоматизированная система тестирования Azimuth во время прогона на Ledger Flex, после чего результаты передали Ledger. На момент публикации, по версии компании, исправления доступно не было.
Проверяемые факты выглядят так: запись в changelog для версии 1.22.2 датирована 12 августа 2026 года, подписанный тег в репозитории — 13 августа. Как опубликованный релиз обновление стало заметно примерно 24 августа, одновременно с выходом анализа TestMachine. Пользователь, который хотел бы проверить наличие фикса в промежутке, мог его там не увидеть. Реконструкцию последовательности с датами публиковал CryptoSlate.
Есть ли подтвержденные потери средств
По имеющейся информации с обеих сторон, подтвержденных случаев эксплуатации уязвимости нет. Задокументированных потерь не приводилось, а извлечь приватные ключи таким способом было невозможно.
При этом есть важная оговорка: подпись, полученная в таком сценарии, на блокчейне выглядит как обычная добровольная подпись. Пользователь, вероятнее всего, заметил бы проблему лишь позже — когда токены начали бы уходить, и мог бы списать это на стандартный фишинг. Поэтому отсутствие подтвержденных случаев не доказывает, что их не было; это оценка, а не установленный факт.
Что этот кейс говорит об аппаратных кошельках и self-custody
Делать вывод "аппаратные кошельки не нужны" неправильно. Для атаки требовались уже выданные права доступа к устройству и вредоносное веб-приложение; приватный ключ не пострадал; уязвимость закрыта.
Практический вывод другой: аппаратный кошелек переносит доверие с компьютера на устройство с собственным экраном, а безопасность здесь — не разовая покупка, а регулярное обслуживание. Это означает своевременные обновления приложений, периодическую ревизию approvals и, для крупных сумм, дополнительный уровень подтверждения.
Что делать владельцу Ledger сейчас
1) Проверьте версию и обновитесь. Подключите устройство, откройте менеджер в Ledger Live и проверьте Ethereum-приложение. Все, что ниже 1.22.2, нужно обновить; одной прошивки недостаточно.
2) Уберите лишние token approvals. Проверьте, каким контрактам разрешено распоряжаться вашими токенами, и отзовите все, что больше не используете.
3) Фиксируйте изменения. Revocation и перераспределение средств создают комиссии и записи в истории — удобнее документировать по мере действий, чем восстанавливать задним числом.
(Актуально на 25 августа 2026 года. Материал не является инвестиционной рекомендацией. Цены и комиссии меняются; перед покупкой уточняйте условия у провайдера.)