Коротко:
- Bitcoin Core незаметно устранил CVE-2024-52911 — свою первую уязвимость безопасности памяти — до публичного раскрытия этой недели.
- Уязвимость затронула все версии с 0.14.0 по 28.x и позволяла майнеру удаленно завершать работу нод с помощью недопустимых блоков.
- Около 43% активных нод все еще работают на программном обеспечении до версии 29.0, что делает их уязвимыми.
Bitcoin Core секретно исправил первую уязвимость безопасности памяти в истории проекта за месяцы до её публичного раскрытия. Уязвимость, зарегистрированная как CVE-2024-52911 и классифицированная как высокой степени серьезности, затрагивала все версии программного обеспечения от 0.14.0 до 28.x и создавала возможность для злонамеренного майнера удаленно аварийно завершать работу сторонних нод с помощью специально созданных недопустимых блоков.
Уязвимость соответствует *использованию после освобождения* в движке проверки скриптов. Во время проверки блока предварительно рассчитанные данные, хранящиеся в кэше, могли быть уничтожены, пока фоновый поток проверки всё ещё читал их. Учитывая механизм, лежащий в основе, эксплуатация не только позволяла вызвать внезапное отключение ноды, но и оставляла открытым — хотя и маловероятным — возможность удалённого выполнения кода во время возникшего аномального состояния памяти.

Bitcoin Core: Тихий патч, который защитил сеть
Кори Филдс, исследователь инициативы MIT Digital Currency Initiative, обнаружил уязвимость и конфиденциально сообщил о ней 2 ноября 2024 года. Через четыре дня разработчик Bitcoin Core Питер Вуилле внедрил скрытый исправление, намеренно назвав его «Улучшение отладочного логирования ошибок параллельной проверки сценариев», чтобы не предупреждать потенциальных злоумышленников. Исправление было включено в репозиторий в декабре 2024 года и распространено с Bitcoin Core v29.0 в апреле 2025 года.
Публичное раскрытие произошло только после завершения поддержки версии 28.x 19 апреля 2026 года. Разработчик Никлас Гёгге отметил, что это первая проблема безопасности памяти, зафиксированная за примерно два года истории публичных рекомендаций по безопасности проекта, и поблагодарил Филдса за ответственное раскрытие.

Почему не было эксплуатации?
Элемент сдерживания, встроенный в вектор атаки, также заслуживает внимания: любой майнер, пытавшийся воспользоваться им, должен был потратить реальную хеш-мощность на недействительные блоки без какой-либо награды — гарантированную потерю, которая, вероятно, объясняет, почему уязвимость оставалась неактивной на практике.
Правила консенсуса bitcoin не были затронуты ни в какой момент, так как ошибка была ограничена обработкой памяти в программном обеспечении ноды. Однако, согласно оценкам с дашборда Кларка Муди, около 43% активных нод всё ещё работали на версиях ранее v29.0 и оставались уязвимыми.

