Коротко:
- 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 і залишалися під впливом.

