원문 캡처 · bitcoincore.org
원문 캡처 · bitcoincore.org

CVE-2026-117350 - 비리눅스 시스템에서 TCP 긴급 데이터로 메모리가 무제한 증가하는 취약점

리눅스가 아닌 시스템에서 악의적인 피어가 TCP 긴급 데이터를 보내면 Bitcoin Core 노드의 메모리가 고갈될 수 있다. Bitcoin Core는 이 문제를 수정한 버전을 배포했으며, 리눅스 사용자는 영향을 받지 않는다.

취약점은 select()를 사용해 소켓 이벤트를 감시하는 코드 경로에 있다. Bitcoin Core는 피어별 처리 대기 데이터가 일정량을 넘으면 읽기를 일시 중단하지만, 이 경로는 읽기가 멈춘 동안에도 예외 상황을 감시했다. 해당 이벤트가 발생하면 소켓에서 데이터를 읽어 처리 대기열에 추가할 수 있어, 대기열 크기가 제한 없이 늘어날 수 있었다. TCP 긴급 데이터를 보내면 이 동작을 유발해, 악의적인 피어가 연결된 Windows·macOS·BSD 노드를 쉽게 충돌시킬 수 있다.

Bitcoin Core는 이 문제를 중간 심각도로 분류했으며, 취약점은 쉽게 발견할 수 있다고 밝혔다. 수정 사항은 버전 29.5, 30.4, 31.2, 32.1에 포함됐다.

이 문제는 Elias Rohrer의 Project Loupe가 자동화된 대규모 언어 모델 스캔을 통해 발견했다. Spiral의 프로젝트에서 나온 발견 사항을 Gregory Sanders가 검증해 Bitcoin Core 팀에 알렸다.

2026년 10월 23일 Project Loupe가 문제를 발견하고 Greg Sanders에게 알렸으며, 그는 같은 날 보고 내용을 검증해 Bitcoin Core 보안팀에 전달했다. 10월 26일 Antoine Poinsot가 수정 풀 리퀘스트 #36665를 열었고, 이 변경은 병합된 뒤 버전 29~32에 반영됐다. Bitcoin Core 31.2와 32.1은 10월 27일, 29.5와 30.4는 10월 28일 수정 사항을 포함해 배포됐다. 취약점은 10월 28일 공개됐다.