Hacker News
Node2Shell이 HTTP2Shell로 진화, 많은 HTTP 라이브러리와 앱에 영향
보안처음 오른 때 점수 377댓글 195
Brotli라는 널리 쓰이는 압축 프로그램에서 큰 보안 구멍(CVE-2026-111497)이 발견되었습니다. 이 구멍을 악용하면 공격자가 서버나 앱을 장악할 수 있어서, 많은 프로그램 업데이트가 급히 필요한 상황입니다.
무슨 일이 있었나요?
Node.js는 10월 21일 'node2shell'이라는 이름의 취약점을 공개했습니다. 공격자가 만든 Brotli 압축 데이터를 Node.js가 풀면, 메모리 정보가 새거나 공격자의 코드가 실행될 수 있습니다. 다음 날 Python도 같은 취약점이 Python 패키지에 있다고 밝혔습니다. 10월 23일에는 이 취약점이 다른 주요 언어와 HTTP를 쓰는 여러 서비스에도 영향을 준다는 사실이 알려졌습니다. 아직 모든 패치가 나온 것은 아닙니다.
꼭 알아야 할 숫자와 사실
- 취약점 번호는 CVE-2026-111497이며, 'node2shell'이라고도 불립니다.
- 영향을 받는 버전은 Brotli 1.0.3부터 1.2.0까지입니다.
- 심각도 점수는 CVSS v4.0 기준 9.2(매우 심각)입니다.
- OpenAI는 2월에 이 문제를 발견해 보고했습니다. 당시 원인은 고쳐졌지만 보안 문제로 인식되지 않아 이번에야 배포되었습니다.
Brotli가 무엇인가요?
Brotli는 Google이 만든 압축 방식입니다. 데이터를 작게 줄여서 저장하거나 인터넷으로 보낼 때 씁니다. 웹페이지의 HTML, CSS, JavaScript 같은 내용을 압축하는 데 널리 쓰입니다. 프로그램은 압축을 풀어 원래 데이터를 되찾습니다.
왜 중요한가요?
이 문제는 Brotli를 직접 설치하지 않은 사람에게도 영향을 줄 수 있습니다. HTTP 통신을 돕는 여러 라이브러리가 Brotli를 자동으로 불러오기 때문입니다. 또 일부 자동 점검 도구는 아직 이 취약점을 찾아내지 못합니다. 그래서 사용자가 직접 확인하고 업데이트해야 합니다.
지금 확인할 일
- Brotli를 라이브러리 안에서 쓰고 있는지 확인하세요.
- Brotli 1.2.1 또는 brotlicffi 1.2.1.0으로 올리고, 관련 컨테이너 이미지를 다시 만드세요.
- Node.js는 22.23.4, 24.22.1, 26.12.1 이상으로 올리세요.
- 패치가 없다면 패치가 나올 때까지 Brotli 해제 기능을 끄는 것을 권장합니다.
용어 풀이
- Brotli
- Google이 만든 데이터 압축 방식으로, 웹에서 파일을 작게 줄여 보낼 때 씁니다.
- Node.js
- 자바스크립트 코드를 컴퓨터나 서버에서 실행하게 해 주는 프로그램 환경입니다.
- CVE
- 보안 취약점마다 붙는 공개 고유 번호입니다.
- CVSS
- 취약점이 얼마나 위험한지 0~10점 사이로 나타내는 점수 체계입니다.
- HTTP
- 웹 브라우저와 서버가 데이터를 주고받을 때 쓰는 기본 통신 규칙입니다.