Node.js 취약점 Node2Shell 공개, 패치 버전 나왔다
구글 Brotli 라이브러리의 메모리 손상 취약점이 임퍼바 시연 후 공개됐고, 10월 21일 Node.js와 Brotli 수정 버전이 배포됐다.
구글의 Brotli 압축 라이브러리에서 발견된 메모리 손상 취약점이 CVE-2026-111497로 추적되며 공개됐다. 보안 업체 임퍼바 연구진은 이 취약점을 Node2Shell로 명명하고, 리눅스 ARM64용 공식 Node.js 24.22.0에서 코드 실행을 시연했다. 사안은 데일리시큐(dailysecu.com)가 보도했다.
취약점은 조작된 입력을 압축 해제하는 과정에서 의도한 버퍼 범위를 벗어나 메모리에 쓰기가 이뤄지는 결함이다. 이를 악용하면 프로그램이 중단되거나 메모리 내용이 유출될 수 있고, 일부 환경에서는 원격 코드 실행으로 이어질 수 있다.
임퍼바의 시연은 외부 서버가 보낸 압축 응답과 압축된 요청 본문, 두 가지 경로를 통해 이뤄졌다. 코드 실행에는 여러 차례 시도가 필요했고, 다른 운영체제나 제품에서 코드 실행이 입증되지는 않았다. 공개된 자료에는 실제 공격 사례가 보고되지 않았다.
영향 범위와 수정 버전
Brotli 압축 해제 기능을 켠 경우 Envoy와 Istio도 영향을 받을 수 있다. 파이썬에서는 Brotli 또는 brotlicffi 패키지가 설치돼 있으면 HTTP 라이브러리가 응답을 자동으로 압축 해제한다.
Node.js는 10월 21일 22.23.4, 24.22.1, 26.12.1 버전을 배포했다. 구글 Brotli는 1.0.10, 1.1.1, 1.2.1 버전에서 보안 수정을 내놨다. Brotli는 웹 페이지와 통신 데이터의 크기를 줄이는 데 쓰이는 압축 기술이다.
한눈에 보기
Node2Shell 취약점의 CVE 번호는 무엇인가?
CVE-2026-111497이다. 구글 Brotli 라이브러리의 메모리 손상 취약점으로, 임퍼바 연구진이 Node2Shell로 명명했다.
Node.js 수정 버전은 언제 나왔나?
10월 21일 22.23.4, 24.22.1, 26.12.1 버전이 배포됐다.
Brotli 자체는 어떤 버전에서 수정됐나?
구글 Brotli는 1.0.10, 1.1.1, 1.2.1 버전에서 보안 수정을 내놨다.