비Linux 시스템서 TCP 긴급 데이터로 메모리 무한 증가
- 출처
- Bitcoin Corebitcoincore.org
- 원문 게시일
- 원문 분량
- 읽는 데 2분
- 언어
- 영어
SATWEI 요약
연결된 피어가 TCP 긴급 데이터를 보내는 것만으로 Windows, macOS, BSD 노드를 다운시킬 수 있었다(CVE-2026-117350). 이 데이터가 select() 백엔드의 읽기 일시 중지를 빠져나가 메모리에 제한 없이 쌓인 탓이다. poll()을 쓰는 Linux 노드는 영향이 없다. Project Loupe의 LLM 스캔이 찾아낸 심각도 ‘중간’ 버그로, Bitcoin Core 32.1, 31.2, 30.4, 29.5에서 고쳐졌다.
태그
- P2P
Bitcoin Core의 다른 기사
일시 중지된 pre-BIP31 피어로 메모리 서서히 무한 증가
악의적 피어가 BIP 31 핑을 지원하지 않는 척하면 20분 연결 해제를 피한 채 느리게 읽으면서, 노드의 전송 대기열을 인바운드 피어당 시간당 최대 2MB, 아웃바운드 피어당 5MB씩 불릴 수 있었다. 심각도 ‘중간’인 CVE-2026-117349는 Bitcoin Core 32.1, 31.2, 30.4, 29.5에 들어간 #36667로 해결됐다. -blocksonly 노드는 노출이 훨씬 적었다.
Bitcoin Core
Bitcoin Core 30.4 출시
Bitcoin Core 30.4는 BIP 323에 따라 BIP 9 비트 5~28을 더는 소프트포크 신호로 보지 않는다. 이 비트를 켠 블록이 들어와도 알 수 없는 디플로이먼트 경고가 뜨지 않는다(#34779). 네트워크 쪽에서는 전송이 일시 중지된 피어에 타임아웃을 강제하고(#36667), flatfile 위치값을 64비트 정수로 바꿨다(#36669).
Bitcoin Core
극단적 조건에서 undo 파일 오버플로
채굴자가 Bitcoin Core의 undo 파일을 4GiB 넘게 키우면 32비트 위치값이 한 바퀴 돌아 데이터가 손상되고, 특정 리오그가 뒤따를 경우 노드가 종료된다. Windows와 32비트 시스템은 리오그 없이도 2GiB에서 장애가 난다. CVE-2026-117346의 심각도는 ‘낮음’으로, 네트워크 전체 블록을 한 달가량 차지해야 가능하다. 32.1, 31.2, 30.4, 29.5가 64비트 시스템의 문제를 고쳤지만 32비트 노드와 FAT32 블록 저장소는 여전히 영향권에 있다.
Bitcoin Core



