Bitcoin Core обнаружили ошибку, угрожающую узлам Bitcoin

Bitcoin Core обнаружили ошибку, угрожающую узлам Bitcoin

Разработчики Bitcoin Core обнаружили серьезную ошибку, которая может позволить майнерам удаленно вывести из строя некоторые узлы Bitcoin.

Проблема, отслеживаемая как CVE-2024-52911, затрагивала версии Bitcoin Core после 0.14.0 и до 29.0. Ошибка была исправлена ​​в Bitcoin Core 29.0, выпущенном в апреле 2025 года.

Bitcoin Core обнародовал информацию об этой проблеме 5 мая 2026 года, после того как 19 апреля истек срок поддержки последней уязвимой версии 28.x.

Проверка блоков, затронутых ошибкой

Проблема заключалась в интерпретаторе скриптов Bitcoin Core во время проверки блоков. В Bitcoin Core заявили, что специально созданный блок может привести к тому, что узел обратится к памяти после того, как эти данные уже были освобождены.

В процессе проверки Bitcoin Core предварительно вычисляет входные данные транзакции и отправляет проверки скриптов фоновым потокам. В некоторых случаях недействительный блок может уничтожить кэшированные данные, в то время как другой поток все еще пытается их прочитать.

В Bitcoin Core заявили, что это может позволить злоумышленнику, обладающему достаточным количеством доказательств работы, вывести из строя узлы-жертвы. Они также отметили, что «возможно», что сбой может способствовать удаленному выполнению кода, хотя ограничения на данные блока делают такой исход «маловероятным».

Для атаки требовалась большие вычислительные мощности

Осуществить эту атаку было непросто. Майнеру нужно было создать специально изготовленный блок с достаточным количеством доказательств работы, чтобы достичь вершины цепочки.

Это сделало атаку дорогостоящей, поскольку такой блок был бы недействительным. Он не мог бы принести обычное вознаграждение за блок, в результате чего злоумышленник тратил бы вычислительную мощность, не получая обычной выплаты за майнинг.

В сообщении Bitcoin Core не говорилось о том, что эта ошибка использовалась в реальных атаках. В рекомендациях основное внимание уделялось уязвимости, ее устранению и срокам раскрытия информации.

Ошибка не изменила правила консенсуса Биткоина. Она была связана с обработкой памяти в программном обеспечении Bitcoin Core, а не с правилами, определяющими действительные транзакции или блоки Биткоина.

Кори Филдс сообщил об этой ошибке

Кори Филдс из Инициативы по цифровым валютам Массачусетского технологического института сообщил об ошибке в частном порядке 2 ноября 2024 года. Компания Bitcoin Core заявила, что в отчете содержалось подтверждение концепции и предложенный способ снижения риска.

Через четыре дня Питер Вуилле внес скрытое исправление через запрос на слияние 31112. Запрос был объединен 3 декабря 2024 года, до того, как в апреле 2025 года в Bitcoin Core 29.0 было выпущено это исправление.

Уведомление было выпущено в соответствии с политикой Bitcoin Core по раскрытию информации о серьезных ошибках. Согласно этой политике, информация о серьезных проблемах раскрывается после того, как поддержка последней затронутой версии прекращается.

Кроме того, операторы узлов, использующие версии Bitcoin Core до 29.0, по-прежнему сталкиваются со старой ошибкой. Bitcoin Core не обновляется автоматически, поэтому пользователям приходится устанавливать более новые версии вручную.

В одном из предыдущих отчетов о рисках децентрализации блокчейна приводились данные исследования, согласно которым в июне 2021 года 21% узлов Bitcoin работали на устаревшем программном обеспечении Bitcoin Core. Этот контекст объясняет, почему старые версии клиентского ПО могут оставаться проблемой безопасности еще долго после выпуска исправлений.

Читайте также: