Разработчики Bitcoin Core раскрыли баг высокой критичности, который может позволить майнерам удалённо «уронить» некоторые узлы Bitcoin.
Кратко
Проблема, отслеживаемая как CVE-2024-52911, затронула версии Bitcoin Core после 0.14.0 и до 29.0. Баг был исправлен в Bitcoin Core 29.0, который вышел в апреле 2025 года.
Bitcoin Core сделал проблему публичной 5 мая 2026 года — после того как последняя уязвимая ветка 28.x достигла конца срока поддержки 19 апреля.
Инцидент был связан с интерпретатором сценариев (script) Bitcoin Core при валидации блоков. Bitcoin Core заявил, что специально сформированный блок может заставить узел обращаться к памяти после того, как эти данные уже были освобождены.
При валидации Bitcoin Core заранее рассчитывает входные данные транзакций и отправляет проверки script в фоновые потоки. В некоторых случаях некорректный блок мог уничтожить закэшированные данные, в то время как другой поток всё ещё пытался их прочитать.
Bitcoin Core заявил, что это может позволить атакующему с достаточным proof-of-work «уронить» узлы жертв. Также он отметил, что «возможно», что краш может поддержать удалённое выполнение кода, хотя ограничения на объём данных блока делают такой исход «маловероятным».
Атаку было не так просто провести. Майнеру нужно было сформировать специально сконструированный блок с достаточным proof-of-work, чтобы дойти до конца цепочки (chain tip).
Это делало атаку затратной, потому что такой блок был бы недействительным. Он не мог бы заработать обычную награду за блок, оставляя атакующего тратить вычислительную мощность без получения привычной майнинговой выплаты.
Bitcoin Core не сообщил о том, что баг использовался в реальных атаках. Консультация (advisory) была сосредоточена на самой уязвимости, исправлении и таймлайне раскрытия.
Баг не менял консенсусные правила Биткоина. Он был связан с обработкой памяти в ПО Bitcoin Core, а не с правилами, которые определяют допустимые транзакции или блоки в Bitcoin.
Cory Fields из MIT Digital Currency Initiative частным образом сообщил о баге 2 ноября 2024 года. Bitcoin Core заявил, что отчёт включал proof of concept и предложенный способ снизить риск.
Pieter Wuille внедрил скрытое (covert) исправление спустя четыре дня через PR 31112. Запрос на включение (pull request) был объединён 3 декабря 2024 года — до того, как Bitcoin Core 29.0 вышел в апреле 2025 года с этим исправлением.
Консультация опиралась на политику раскрытия от Bitcoin Core для уязвимостей высокой критичности. В ней говорится, что такие проблемы раскрываются после того, как последняя затронутая релизная ветка достигнет конца срока поддержки.
Кроме того, операторы узлов, использующие версии Bitcoin Core до 29.0, всё ещё сталкиваются со старым багом. Bitcoin Core не обновляется автоматически, поэтому пользователям нужно вручную установить более новые версии.
Прошлый отчёт о рисках централизации в блокчейне ссылался на исследование, согласно которому 21% узлов Bitcoin в июне 2021 года работали на устаревшем ПО Bitcoin Core. Этот контекст показывает, почему более старые версии клиента могут оставаться проблемой безопасности ещё долго после выхода исправлений.
Связанные статьи
Core Scientific приобретает биткоин-майнер Polaris за 421 млн долларов, расширяет операции AI- дата-центра
Топ-3 криптовалют по росту капитализации: до 36% за сегодня; ZEC лидирует, TON +25,24%
Глава по технологиям CleanSpark: инфраструктура AI/HPC требует больше сетевых ресурсов, чем майнинг Bitcoin
21Shares размещает Strategy Yield ETN на Лондонской фондовой бирже, предлагая доходность 11,50%
CleanSpark продала 748 BTC в апреле, а её запасы снизились до 13 453
Биткоин достигает 67-дневной отрицательной серии funding-ставок, поскольку K33 сигнализирует о риске short squeeze