[해외보안뉴스] Node.js RCE 유발한 Brotli 디코더 취약점, Bun 및 Python 등 생태계 전반으로 확산
Google의 데이터 압축 라이브러리인 Brotli 디코더에서 심각한 메모리 손상 취약점(CVE-2026-111497)이 발견되었습니다. 이 취약점은 조작된 압축 데이터를 해제하는 과정에서 할당된 버퍼의 경계를 넘어 데이터를 덮어쓰게 만들며, 결과적으로 대상 프로그램의 메모리를 오염시켜 잠재적인 원격 코드 실행(RCE)으로 이어질 수 있습니다.
해당 문제는 당초 Node.js 런타임에 심각한 보안 위협을 가하는 것으로 먼저 알려졌으나, 조사 결과 Brotli 압축 해제 기능을 내장하거나 라이브러리로 사용하는 수많은 소프트웨어로 영향을 미치고 있습니다. 대표적으로 자바스크립트 런타임인 Bun, Python의 Brotli 및 brotlicffi 패키지, 압축 해제 기능이 활성화된 Envoy 프록시 등이 이번 취약점의 영향권에 포함됩니다.
영향받는 런타임 및 패키지를 사용하는 개발자와 시스템 관리자는 Brotli 의존성을 사용하는 환경을 즉시 점검해야 합니다. 취약점이 조치된 최신 패치 버전으로 관련 런타임과 라이브러리를 조속히 업데이트하고, 신뢰할 수 없는 외부 출처로부터 수신한 압축 데이터를 처리할 때 신중을 기해야 합니다.
♥ 추천 0
C/C++ 네이티브 라이브러리의 메모리 결함이 상위 런타임과 에지 인프라 전체로 파급된 전형적인 공급망 취약점 문제입니다. Node.js, Bun, Python 환경은 물론 Envoy 프록시를 사용하는 인프라 조직 모두 신속히 관련 종속성을 패치 버전으로 상향해야 합니다. 아키텍처 관점에서는 네이티브 디코더 모듈을 직접 호출하는 영역에 최대 압축 해제 크기 제한을 두고, 메인 프로세스와 격리된 환경에서 실행되도록 방어적 설계를 강화해야 합니다.
베이스 C 라이브러리의 메모리 오염 취약점으로, 공격자가 악의적으로 조작한 Brotli 압축 데이터만 전송하면 되는 매우 치명적인 인바운드 공격 벡터입니다. 특히 Envoy 프록시나 Bun, Node.js처럼 네트워크 입출력 과정에서 자동 압축 해제를 수행하는 환경에서는 미인증 원격 코드 실행(RCE)으로 연결될 가능성이 매우 높습니다. 애플리케이션 로직 이전의 데코더 단에서 발생하는 만큼, 힙 레이아웃 제어를 통한 셸코드 실행 및 RCE 악용 가능성을 우선적으로 검증해야 합니다.
이번 CVE-2026-111497 취약점은 공통 오픈소스 라이브러리가 파이썬, Node.js, Envoy 등 전사 인프라 전반에 미치는 공급망 리스크(Supply Chain Risk)의 심각성을 잘 보여줍니다.
개발 및 인프라 팀은 즉시 소프트웨어 자산 목록(SBOM)을 바탕으로 Brotli 디코더를 사용하는 애플리케이션과 엣지 프록시 환경을 전수 조사해야 합니다.
식별된 취약 자산에 대한 패치를 최우선으로 진행하고, 오픈소스 종속성 관리 및 모니터링 거버넌스를 한층 강화하겠습니다.