취약점  ·  2026-10-28

Brotli 디코더의 out-of-bounds 쓰기 (Node2Shell/HTTP2Shell)가 Node.js, Python 및 Bun HTTP 스택에 도달

취약점High 영향도GlobalCVE-2026-111497
CISA가 2026-10-27에 CVE-2026-111497을 Known Exploited Vulnerabilities 카탈로그에 추가했으며 실제 야외 익스플로잇이 확인되었습니다; 독립 연구(Help Net Security, 9월 27일)는 Node2Shell 버그가 활발한 공격을 받고 있다고 보고합니다. Google Brotli 디코더가 불가능한 블록 타입 전환을 잘못 처리하여 '더 많은 입력 필요'로 처리하므로, 조작된 스트림이 8바이트 내부 버퍼를 오버플로우시켜(CWE-252/CWE-787) 메모리 공개, DoS 또는 원격 코드 실행을 가능하게 합니다. 수정 사항(google/brotli 커밋 0ed4268)은 2026년 2월에 작성되었지만 10월까지 다운스트림 프로젝트에 반영되지 않았습니다.
AI 웹 레이어는 이러한 런타임 위에 구축됩니다: MCP 서버, LangChain/에이전트 웹훅, AI 게이트웨이 프런트는 Node.js/Python/Bun에서 실행되며 Brotli를 자동으로 압축 해제합니다. 공유 디코더의 메모리 손상 RCE는 공급망 규모의 문제입니다 — 하나의 페이로드가 전체 AI 서빙 및 에이전트 툴링 프로세스 클래스를 손상시킬 수 있으며, Mythos 이후의 시간-대-익스플로잇 압력은 방어자에게 몇 달이 아닌 며칠을 줍니다.
조작된 Brotli 압축 스트림이 HTTP 클라이언트/서버에 의해 자동으로 압축 해제됩니다(인플레이션 미들웨어를 통한 요청 본문 또는 fetch() 응답), 디코더 상태 메모리를 손상시킵니다. AI 애플리케이션이나 에이전트 툴이 Brotli 인코딩 트래픽을 수락하는 곳이면 어디서든 공개 인터넷에서 도달 가능합니다.
Google Brotli 1.0.3–1.2.0 (libbrotlidec); Node.js <22.23.4 / <24.22.1 / <26.12.1 (EOL 브랜치에는 수정 없음); Bun ≤1.4.3; Python brotli ≤1.2.0 / brotlicffi ≤1.2.0.x; .NET, PHP, Ruby, DuckDB, ClickHouse에 번들된 사본
Node.js 22.23.4 / 24.22.1 / 26.12.1, Bun 1.4.4, brotli/brotlicffi 1.2.1.x, 및 Google Brotli 1.2.1로 업그레이드하십시오. EOL Node 브랜치에서 이동하십시오. 필요하지 않은 경우 본문 파서에서 Brotli 인플레이션을 비활성화하십시오.
CISA Known Exploited Vulnerabilities catalogNVD — CVE-2026-111497Semgrep — Patch Your Node and Eat Your BrotliAdobe APSB26-73 security bulletin
라이브 피드에서 보기 AI 보안 및 거버넌스 관련 소식을 더 살펴보세요 — 매일 아침 업데이트.
피드 열기 →