Вредоносные серверы Electrum заменяли только что отправленные биткоин-платежи пользователей на поддельные транзакции с нулевой комиссией, направляющие средства на адреса-близнецы.
Серверы, по всей видимости, рассчитывали, что жертвы повысят комиссию и подпишут поддельную транзакцию.
Electrum выпустила версию 4.8.3 24 октября для устранения уязвимости высокого уровня риска. Разработчик SomberNight в тот же день опубликовал рекомендацию GHSA-6jp4-8v48-cc5v и просил пользователей обновиться.
Будьте в курсе движения ваших монет
Алерты, котировки в реальном времени и новости рынка — в одном приложении
Наведите камеру телефона, чтобы установить
4,8 на основе 40 К оценок в App Store и Google Play
Поддельный адрес заканчивался на GyQ3, как и легитимный адрес назначения
Electrum — это облегчённый клиент. Он не содержит полного узла Bitcoin и полагается на свой сервер для получения информации о транзакциях из мемпула, ожидающих подтверждения. В его собственной документации подробно объясняется принцип работы.
Кто-то подписывает и отправляет транзакцию tx1. Злонамеренный сервер перехватывает её и отправляет кошельку другую транзакцию tx2, которая переводит средства на адрес злоумышленника.
Транзакция tx2 имеет недействительные подписи. В более старых версиях Electrum не проверялись подписи транзакций из мемпула, поэтому кошелек отображал tx2 как ожидающую подтверждения, а tx1 скрывался.
Replace-By-Fee (RBF) позволяет отправителю повторно распространить неподтвержденную транзакцию с более высокой комиссией. Если комиссия за поддельную транзакцию будет увеличена, кошелек подпишет версию злоумышленника действительной подписью.
Одна из целей, известная как dannydeezy, задокументировала атаку. Это была классическая мультисиг P2SH 2-of-3 с двумя устройствами Trezor, 31 входом и одним выходом.
Пользователь проверил вывод средств на обоих устройствах Trezor, затем выполнил трансляцию. История кошелька затем отобразила полную сумму, ушедшую на неизвестный адрес в статусе «не подтверждено», а позже запись сменила статус на «Локальная».
Поддельная транзакция копировала входы, версию и locktime реальной транзакции, при этом scriptSigs во всех 31 входе были побайтово идентичны.
Все 62 подписи совпадали с данными реальной транзакции. Ни одна из них не соответствовала поддельной.
Почти все средства были отправлены на адрес-двойник, а небольшая часть — обратно на один из ранее использованных адресов кошелька.
Фальшивый адрес заканчивался на GyQ3. Тот же суффикс был и у настоящего конечного адреса.
Атакующий подобрал адрес, совпадающий с последними четырьмя символами правильного адреса.
Отчет об инциденте от пользователя user1 в рекомендациях по безопасности Electrum, опубликованных 24 октября 2026 года на GitHub.
ZachXBT также указал на аналогичную мошенническую схему с подменой адресов, затрагивающую пользователей кошелька Phantom. Поддельные адреса сделаны нечитаемыми при беглом взгляде на первые и последние символы.
Версия 4.8.3 проверяет подписи только для входов, принадлежащих кошельку
Другой пользователь, Raju-K12, 18 октября сообщил в частном порядке, что повысил комиссию за фальшивую транзакцию и понёс убытки. По словам разработчиков, некоторые серверы уже используют эту атаку в реальных условиях.
Коммит 90fe308 добавляет проверку подписей для входов «is_mine», принадлежащих кошельку, перед добавлением транзакции из мемпула в локальную историю. Версия 4.8.3 была помечена тегом в Git 23 октября, а бинарные файлы выпущены на следующий день.
Electrum по-прежнему проверяет только те входы, которые контролируются кошельком. Таким образом, неподтверждённые входящие транзакции остаются без проверки.
Это связано с тем, что клиент не имеет полноценного интерпретатора скриптов.
Обходное решение Electrum для тех, кто не может обновиться, заключается в проверке адресов и сумм выходов перед подписанием любых операций, включая повышение комиссии. Пользователи, подключавшиеся только к своим собственным серверам, не пострадали.
Ранее Electrum уже выпускала экстренные исправления. В январе 2018 года компания закрыла интерфейс JSON RPC, который оставался открытым около двух лет, после того как исследователь Google Тавис Орманди обнаружил, что веб-сайт может определить порт и вывести средства.
Cryptopolitan сообщил, что предупреждение о баге в генерации seed-фразы для Coldcard поступило в июле, в тот же день, когда из примерно 500 кошельков было выведено около 594 BTC (~38 млн долларов).