# 진범은 구글 압축기술이었다…Node.js 구멍, 웹 전체 'HTTP2Shell'로 번져

> 오픈AI가 2월에 찾았지만 릴리스 없이 8개월 방치…KISA 공지는 아직 Node.js뿐

- 매체: 수원일보 — 수원·화성·용인 경기남부 뉴스 · 1989년 창간 37년, 경기도 제1호 인터넷신문(등록번호 경기 아 00001)
- 기자: 이단열 기자
- 발행: 2026-10-25T16:47:17+09:00 · 수정: 2026-10-25T16:49:07+09:00
- 섹션: 경제
- 원문(캐노니컬): https://www.suwonilbo.kr/news/articleView.html?idxno=L261025164004c33c
- 인용 표기: 수원일보, “진범은 구글 압축기술이었다…Node.js 구멍, 웹 전체 'HTTP2Shell'로 번져”, 2026-10-25, https://www.suwonilbo.kr/news/articleView.html?idxno=L261025164004c33c

---

(사진: 중앙의 균열 난 압축 부품에서 네트워크로 번지는 균열 일러스트)

(사진: 하나의 압축 부품에 난 균열이 웹 전체로 번졌다. 구글 브로틀리 결함은 Node.js·파이썬·엔보이로 확산됐다. /제작=수원일보AI)

지난주 전 세계 서버 관리자들을 움직인 Node.js 보안 패치의 진짜 뿌리는 구글이 만든 데이터 압축 기술 '브로틀리(Brotli)'였던 것으로 확인됐다. 같은 결함이 파이썬, 웹 통신 중계 소프트웨어 엔보이, 자바스크립트 실행 환경 번 등으로 번지면서, 보안업계는 이 사건에 'HTTP2Shell'이라는 이름을 새로 붙였다. 하나의 압축 부품에 난 구멍이 웹 전체로 확산한 것이다.

브로틀리는 웹페이지와 데이터의 용량을 줄여 빠르게 전송하도록 돕는 압축 기술로, 수많은 소프트웨어에 부품처럼 내장돼 있다. 문제의 결함(CVE-2026-111497, 위험도 9.2)은 압축을 푸는 과정에서 조작된 데이터를 걸러내지 못해 허용된 메모리 범위를 벗어나 쓰기가 일어나는 것으로, 서버 다운이나 정보 유출, 특정 조건에서는 원격 코드 실행까지 이어질 수 있다.

확산 경로는 사흘 만에 그려졌다. 지난 21일 Node.js가 패치를 내놓으며 '노드투셸(Node2Shell)'로 불렸던 이 취약점은, 22일 파이썬용 브로틀리 라이브러리에서도 확인됐고, 23일 보안업체 아이키도 시큐리티가 HTTP 통신 소프트웨어 전반의 문제로 확인하면서 'HTTP투셸'로 재명명됐다. 영향권은 브로틀리 원본 라이브러리(수정판 1.2.1)와 Node.js(22.23.4·24.22.1·26.12.1), 파이썬 Brotli·brotlicffi(1.2.1), 번(1.4.4), 엔보이(1.40.0 등)까지다. 브로틀리를 직접 쓰지 않는 개발자도 이 부품을 내장한 소프트웨어를 통해 영향을 받을 수 있다. 다만 nginx·아파치 웹서버의 기본 설정은 영향권 밖이다.

더 뼈아픈 대목은 이 구멍이 8개월 전에 이미 발견됐었다는 점이다. 오픈AI의 보안팀(코덱스 시큐리티)이 지난 2월 결함을 찾아 구글에 보고했고, 구글은 2월 27일 소스 코드를 수정했다. 그러나 이를 보안 결함으로 인식하지 못해 수정판을 정식 릴리스로 배포하지 않았다. 이후 8개월간 브로틀리의 새 릴리스는 한 건도 없었고, 전 세계 소프트웨어에 내장된 사본들은 고쳐진 코드가 있는데도 취약한 채로 돌아갔다. 고치는 것과 배포하는 것은 다르다는, 오픈소스 공급망의 구조적 허점이 그대로 드러난 셈이다.

다행히 실제 공격은 아직 관측되지 않았다. 24일 기준 실환경 악용 보고는 없고, 미국 사이버보안청(CISA)의 악용 취약점 목록에도 오르지 않았다. 보안업체의 실험실 실증만 있는 단계다. 이 점에서 지난주 'PHP2Shell'과는 다르다. PHP 엔진 자체의 취약점인 PHP2Shell은 공개 전부터 실제 공격 시도가 포착된 별개의 사건으로, 두 사건의 공통점은 같은 주에 터졌다는 것과 'X2Shell'이라는 작명뿐이다.

국내 대응에는 공백이 있다. 한국인터넷진흥원(KISA)은 23일 Node.js 업데이트 권고를 냈지만, 브로틀리 원본과 파이썬·엔보이 등 나머지 영향권에 대한 별도 공지는 25일까지 나오지 않았다. 운영자는 공지를 기다리기보다 사용하는 소프트웨어 목록에서 브로틀리 내장 여부와 버전을 직접 점검하는 것이 안전하다.

한 주 사이 PHP, Node.js, 그리고 그 뿌리의 브로틀리까지. 이번 '보안 주간'이 남긴 교훈은 분명하다. 웹은 소수의 공통 부품 위에 서 있고, 그 부품 하나의 구멍과 한 번의 배포 누락이 전체를 흔든다. 패치는 빨랐지만, 다음 구멍은 또 어느 부품에서 8개월째 잠자고 있을지 모른다.

---
매체: 윤리강령·열린보도원칙·AI 활용 준칙 공개(https://www.suwonilbo.kr/policy.html) · 취재편집국 기자 프로필(https://www.suwonilbo.kr/reporter.html)
최신 기사: https://www.suwonilbo.kr/rss.xml · 사이트 안내: https://www.suwonilbo.kr/llms.txt · 이 기사 JSON: https://www.suwonilbo.kr/api/article?id=L261025164004c33c
모든 기사 URL은 `?format=md` 를 붙이면 이 마크다운 형식으로 제공됩니다.
