



Уязвимость в Bitcoin Core позволяла майнерам выполнять код на чужих узлах
- Разработчики Bitcoin Core раскрыли критическую уязвимость.
- Ошибка годами оставалась незамеченной и создавала риск для сети.
- Проблема безопасности памяти сделала возможным для майнеров удаленно влиять на узлы сети через специально сформированные блоки.
Разработчики Bitcoin Core раскрыли детали серьезной уязвимости (CVE-2024-52911), которая на протяжении лет могла позволить майнерам удаленно выводить из строя узлы сети и даже выполнять на них произвольный код. Проблема затронула широкий спектр версий — от 0.14.1 до 28.4 — и получила статус высокой критичности.
Речь идет о первой в истории проекта зафиксированной ошибке, связанной с безопасностью памяти. Разработчик Никлас Гегге отметил:
Как работала атака и почему ее не использовали
Суть уязвимости заключалась в классической ошибке типа use-after-free — когда программа продолжает использовать память после ее освобождения.
Во время проверки блоков:
- Bitcoin Core предварительно вычисляет данные транзакций;
- сохраняет их в кеше;
- передает проверку скриптов в фоновые потоки.
В случае специально сформированного блока эти данные могли быть уничтожены, пока другие потоки еще пытались их использовать. Это открывало возможность аварийно завершить работу узла и потенциально выполнить произвольный код.
В техническом описании указано:
Также разработчики подчеркнули, что природа ошибок use-after-free приводит к «возможному выполнению удаленного кода, хотя ограничения на входные данные делают это маловероятным».
Впрочем, атака имела критический недостаток — экономическую невыгодность:
- майнеру пришлось бы тратить значительные ресурсы на создание специальных блоков;
- такие блоки были невалидными;
- соответственно, вознаграждение (coinbase) не выплачивалось.
Это означает гарантированные
Читать на incrypted.com