Bitcoin Core, 채굴자가 노드를 다운시킬 수 있는 고위험 버그 공개

3시간 전
4분 읽기
4 조회수

Bitcoin Core의 고위험 버그 공개

Bitcoin Core 개발자들은 채굴자가 원격으로 일부 Bitcoin 노드를 다운시킬 수 있는 고위험 버그를 공개했습니다. 이 문제는 CVE-2024-52911로 추적되며, Bitcoin Core 0.14.0 이후 및 29.0 이전 버전에 영향을 미쳤습니다. 이 버그는 2025년 4월에 출시된 Bitcoin Core 29.0에서 수정되었습니다.

버그의 세부 사항

Bitcoin Core는 마지막으로 취약한 28.x 릴리스 라인이 4월 19일에 수명 종료된 후인 2026년 5월 5일에 이 문제를 공개했습니다. 이 문제는 블록 검증 중 Bitcoin Core의 스크립트 인터프리터와 관련이 있었습니다. Bitcoin Core는 특별히 조작된 블록이 노드가 이미 해제된 메모리에 접근하게 할 수 있다고 밝혔습니다.

“검증 중에 Bitcoin Core는 거래 입력 데이터를 미리 계산하고 스크립트 검사를 백그라운드 스레드에 전송합니다. 경우에 따라 유효하지 않은 블록이 캐시된 데이터를 파괴하는 동안 다른 스레드가 여전히 이를 읽으려고 시도할 수 있습니다.”

Bitcoin Core는 이를 통해 충분한 작업 증명을 가진 공격자가 피해 노드를 다운시킬 수 있다고 말했습니다. 또한 “원격 코드 실행을 지원할 가능성도 있다”고 언급했지만, 블록 데이터에 대한 제한으로 인해 그 결과는 “가능성이 낮다”고 덧붙였습니다.

공격의 복잡성

이 공격은 간단하게 수행할 수 있는 것이 아니었습니다. 채굴자는 체인 끝에 도달할 수 있는 충분한 작업 증명을 가진 특별히 조작된 블록을 생성해야 했습니다. 이는 그러한 블록이 유효하지 않기 때문에 공격이 비용이 많이 들게 만들었습니다. 정상적인 블록 보상을 받을 수 없으므로 공격자는 일반적인 채굴 보상을 받지 않고 해시 파워를 소비해야 했습니다.

Bitcoin Core는 이 버그가 실제 공격에 사용되었다고 언급하지 않았습니다. 이 권고는 결함, 수정 및 공개 일정에 초점을 맞추었습니다. 이 버그는 Bitcoin의 합의 규칙을 변경하지 않았습니다. 이는 Bitcoin Core 소프트웨어의 메모리 처리와 관련이 있으며, 유효한 Bitcoin 거래 또는 블록을 정의하는 규칙과는 관련이 없습니다.

보고 및 수정 과정

MIT 디지털 통화 이니셔티브의 Cory Fields는 2024년 11월 2일에 이 버그를 비공식적으로 보고했습니다. Bitcoin Core는 이 보고서에 개념 증명과 위험을 줄이는 제안이 포함되어 있다고 밝혔습니다. Pieter Wuille는 4일 후 PR 31112를 통해 은밀한 수정을 추진했습니다. 이 풀 리퀘스트는 2024년 12월 3일에 병합되었고, 2025년 4월에 수정된 Bitcoin Core 29.0이 출시되기 전에 이루어졌습니다.

사용자 권고 사항

이 권고는 고위험 버그에 대한 Bitcoin Core의 공개 정책을 따랐습니다. 이 정책에 따르면 고위험 문제는 마지막 영향을 받은 릴리스가 수명 종료된 후에 공개됩니다. 또한 29.0 이전의 Bitcoin Core 버전을 사용하는 노드 운영자는 여전히 이전 버그에 직면해 있습니다. Bitcoin Core는 자동 업데이트되지 않으므로 사용자는 최신 버전을 수동으로 설치해야 합니다.

블록체인 분산화 위험에 대한 과거 보고서는 2021년 6월에 21%의 Bitcoin 노드가 구버전의 Bitcoin Core 소프트웨어를 실행하고 있다고 언급했습니다. 이러한 맥락은 구버전 클라이언트가 수정이 배포된 후에도 오랜 시간 동안 보안 문제로 남을 수 있는 이유를 보여줍니다.