Hatena
Google의 압축 형식 "Brotli"에서 심각한 취약점 "HTTP2Shell" 발견, 웹 관련 전반에 광범위한 영향 / OpenAI가 발견한 "Node2Shell"의 영향 확대, 인증 없이 원격 코드 실행 우려
보안처음 오른 때 점수 93
구글이 만든 데이터 압축 도구 Brotli에서 심각한 보안 결함이 발견되었습니다. 일부에서는 이를 "HTTP2Shell"이라고 부르며, 공격자가 로그인 없이 서버에서 코드를 실행할 수 있게 만들 수 있습니다.
무슨 일이 있었나요?
Brotli는 웹 페이지 같은 파일의 크기를 줄여 주는 도구입니다. 이 도구의 C 버전에서 CVE-2026-111497이라는 깊은 보안 구멍이 발견되었습니다. 결함은 압축된 데이터를 다시 푸는 부분인 디코더에 있습니다. 공격자는 비밀번호 없이 원격으로 이 부분에 접근할 수 있습니다. 처음에는 OpenAI가 Node.js 문제로 보고하면서 "Node2Shell"이라고 이름 붙였습니다. 이후 많은 다른 웹 도구도 영향을 받는다는 것이 확인되어, 보안 회사 Aikido Security 등은 "HTTP2Shell"이라는 이름을 쓰기 시작했습니다.
핵심 숫자와 사실
- 심각도 점수(CVSS 4.0): 10점 만점에 9.2점, 가장 높은 '치명적' 등급
- 영향을 받는 버전: Brotli v1.0.3부터 v1.2.0까지
- 10월 21일 배포된 수정 버전: Brotli v1.0.10, v1.1.1, v1.2.1
- 수정된 Node.js 버전: v22.23.4, v24.22.1, v26.12.1
- Python 패키지 Brotli와 brotlicffi도 영향을 받았고, 수정 버전은 v1.2.1과 v1.2.1.0입니다
Brotli는 왜 중요한가요?
웹사이트가 압축된 내용을 보낼 때는 "Content-Encoding: br"이라고 표시합니다. 많은 웹 제품이 Brotli를 쓰기 때문에 결함 하나가 여러 프로그램에 동시에 영향을 줄 수 있습니다. 이 문제는 HTTP/2 연결 자체의 결함이 아니라, HTTP를 쓰는 더 넓은 웹 시스템 전체에 관한 문제입니다.
왜 중요한가요?
공격자가 이 결함을 악용하면 메모리를 망가뜨리거나, 메모리에서 개인 정보를 읽거나, 서비스를 멈추게 하거나, 자신의 코드를 실행할 수도 있습니다. 인기 웹 도구 여러 개에 영향을 주므로 많은 회사와 개발자가 빠르게 업데이트해야 합니다. Brotli가 안에 들어 있는 앱은 단순히 업데이트하는 것으로는 부족하고, 다시 빌드해서 재배포해야 합니다.
지금 해야 할 일
- Brotli와 이를 포함한 모든 프로그램을 수정 버전으로 업데이트하기
- Brotli가 들어 있는 앱과 컨테이너를 다시 빌드해서 재배포하기(Bun 단일 파일 프로그램 포함)
- 바로 업데이트할 수 없다면, 신뢰할 수 없는 데이터에 대해 Brotli 해독 기능 끄기(Gzip과 deflate는 켜 둘 수 있음)
- Envoy Proxy와 Istio를 쓴다면 요청과 응답 모두에 대해 Brotli 필터 끄기
- Istio 1.29는 더 이상 지원되지 않으므로 1.30 이상으로 옮기기
용어 풀이
- Brotli
- 파일 크기를 줄이는 데이터 압축 도구로, 구글이 만들었습니다.
- CVE-2026-111497
- 이 보안 결함에 붙은 공식 고유 번호입니다.
- HTTP/2
- 웹 브라우저와 서버가 데이터를 주고받는 방식(통신 규칙)입니다.
- Node.js
- 웹 서버 프로그램을 만들 때 쓰는 자바스크립트 실행 환경입니다.
- Aikido Security
- 소프트웨어 보안 문제를 찾아 알려 주는 보안 회사입니다.
- Envoy Proxy
- 여러 서버 사이에서 웹 요청을 전달하고 관리하는 프록시 프로그램입니다.