Bitcoin Core закрыл уязвимость, позволявшую перенаправлять платежи без кражи ключей
Сводка рынка от ИИ
Bitcoin Core внедрил защитный механизм, предотвращающий подпись некоторых PSBT с использованием SIGHASH_SINGLE, при котором выходы могут быть изменены без аннулирования подписей, что в пограничных условиях позволяет перенаправить получателя (не кража ключей). Изменение снижает риск авторизации со стороны кошельков и аппаратных подписантов, однако оно присутствует только в ветке разработки, и подтверждённой выпущенной/портированной версии пока нет, поэтому в ближайшей перспективе акцент остаётся на валидации на стороне кошелька и политике подписанта.
Степень влияния
● Средний
Затронутые активы
BTC/USDT+2.05%
Инсайт ИИ · BTC/USDTИнсайт ИИ
● Нейтральный
Торговать
⚠️ Инсайты, сгенерированные ИИ, основаны на новостном контенте и предоставляются исключительно в информационных целях. Они не являются инвестиционной рекомендацией и не отражают позицию BingX. Торговля сопряжена с риском. Пожалуйста, торгуйте ответственно.
В Bitcoin Core внедрили защиту от подписания транзакций, которые могут не "привязывать" средства к адресу получателя, одобренному пользователем. Изменение, влитое в основную ветку разработки (master) 25 сентября, устраняет узкий дефект в частично подписанных биткоин-транзакциях (PSBT), при котором подпись могла получаться валидной, но не гарантировать сохранность целевого выхода. На обновление 2 октября обратили внимание в Bitcoin Optech.
Проблема не раскрывает приватные ключи, но создает иной риск: при определенных условиях подпись остается действительной даже после подмены получателя. Слабое место связано с режимом подписи SIGHASH_SINGLE, который должен фиксировать соответствие входа и выхода в одной и той же позиции. Если в транзакции нет выхода с нужным индексом, механизм защиты работает некорректно, и последствия зависят от типа тратимого входа.
Для legacy-входов ситуация "нет выхода" может приводить к подписи над фиксированным значением хэша. Разработчики Bitcoin Core указали, что такую подпись потенциально можно повторно использовать против других непотраченных выходов (UTXO), контролируемых тем же ключом, при совпадении тех же структурных условий. В транзакциях SegWit v0 защита сильнее: подпись по-прежнему фиксирует конкретную тратимую монету и ее сумму. При этом выход назначения может оставаться незафиксированным, что превращается в проблему авторизации для кошельков и устройств подписи: софт способен показать пользователю один платеж, но сформировать подпись, которая криптографически не гарантирует, что одобренный получатель не будет изменен.
Bitcoin Core блокирует рискованный запрос на подпись. Ранее этот крайний случай уже отклонялся через интерфейс подписи rawtransaction, но по PSBT-цепочке, включая walletprocesspsbt, подпись могла быть создана. Новый код переносит проверку в общий механизм формирования подписи, не позволяя подписывать затронутые legacy- и SegWit v0-входы, при этом остальные корректные входы в том же PSBT могут обрабатываться дальше.
PSBT широко применяются для координации транзакций между программными кошельками, аппаратными устройствами и офлайн-подписантами. Формат позволяет конструктору транзакции передавать данные отдельному подписывающему модулю без передачи контроля над приватными ключами. Исправление укрепляет границу, которую разработчики кошельков должны обеспечивать независимо от защиты ключей: валидная подпись обязана фиксировать именно те параметры транзакции, которые пользователь действительно авторизовал.
BIP-174, описывающий PSBT, уже предписывает подписантам отклонять неприемлемые режимы подписи и рекомендует SIGHASH_ALL, если альтернативы явно не указаны. Изменение в Bitcoin Core прямо не допускает конфигурацию "отсутствующий выход" до стадии подписи.
Пользователи пока не получили подтвержденного релиза в продакшене, куда включена эта защита. Патч от 25 сентября находится в ветке разработки, а в опубликованных списках релизов на 4 октября не было указано исправленной версии или подтверждения бэкпорта. Для провайдеров кошельков и интеграций с аппаратной подписью это означает более срочное решение: проверить собственную обработку запросов SIGHASH_SINGLE, не дожидаясь релиза Bitcoin Core, который обеспечит аналогичную защиту "снизу".
Материал "Bitcoin Core's new fix closes gap that could redirect funds without stealing keys" впервые опубликован на CryptoSlate.