Brotli 취약점, HTTP 전반으로 확산
원제: Node2Shell evolves to HTTP2Shell, blast radius affects many HTTP libs and apps
왜 중요한가
HTTP 압축 표준으로 자리잡은 Brotli의 취약점은 언어·플랫폼을 가리지 않고 광범위한 서비스에 원격 코드 실행 위험을 초래할 수 있다.
2026년 10월 21일 Node.js에서 최초 공개된 CVE-2026-111497('Node2Shell')이 Python, 그리고 HTTP를 사용하는 다수의 언어·서비스 앱으로 영향 범위가 확대됐다. 공격자가 제어하는 Brotli 압축 데이터를 디코딩할 경우 메모리 누수 또는 임의 코드 실행이 가능하며, 10월 23일 현재 일부 라이브러리는 패치가 미완료 상태다.
Google이 개발한 범용 압축 라이브러리 Brotli에서 발견된 CVE-2026-111497은 사흘 만에 'HTTP2Shell'로 불릴 만큼 영향 범위가 급격히 넓어졌다.
10월 21일(수) Node.js가 최초 공개할 당시에는 Node.js 프로세스가 공격자 제어 Brotli 데이터를 압축 해제할 때 메모리 누수 또는 임의 코드 실행이 발생할 수 있다는 내용이었다. 이튿날인 22일(목) Python도 동일 CVE의 영향을 받는다고 공식 발표했고, 23일(금)에는 HTTP를 사용하는 여러 주요 언어와 서비스 애플리케이션이 추가로 취약한 것으로 확인됐다.
보안 기업 Aikido Security에 따르면, Brotli 디코딩을 의존성으로 채택한 라이브러리와 앱 전반이 잠재적 공격 대상이 된다. 특히 브라우저·서버 간 HTTP 통신에서 Brotli 압축이 광범위하게 쓰이는 만큼, 단순한 런타임 취약점을 넘어 공급망 전반에 걸친 위협으로 번질 수 있다.
현재 모든 영향 받는 라이브러리에 대한 패치가 완료되지 않은 상황이다. Aikido는 ▲의존성 내 Brotli 디코딩 여부 즉시 점검 ▲패치 출시 즉시 업그레이드 ▲패치 미제공 라이브러리의 경우 Brotli 디코딩 기능 비활성화를 권고했다. 추가 업데이트가 계속 발표되고 있어 개발팀의 지속적인 모니터링이 요구된다.