본문 바로가기
놀고싶은날

브로틀리 취약점 HTTP투셸, 점검 기준 3가지

by 놀고싶은날 2026. 10. 25.
728x90
반응형

노드JS를 쓰지 않는 서비스도 이번 보안 경고를 신경 써야 할까요?
이번 결함은 노드JS가 아니라 구글이 만든 압축 기술 브로틀리에서 시작돼 파이썬, 엔보이, 번까지 번졌어요.
브로틀리 취약점의 영향권을 가르는 기준과 대응 순서를 정리했어요.

HTTP투셸 취약점의 출발점

보안업체 아이키도 시큐리티는 2026년 10월 23일 공개한 분석 보고서에서 노드JS 취약점 '노드투셸(Node2Shell)'의 뿌리가 브로틀리 압축 해제 기능에 있다고 밝혔어요. 처음에는 노드JS만의 문제로 보였지만, 추가 조사에서 파이썬용 압축 라이브러리와 통신 중계 소프트웨어 엔보이에서도 같은 결함이 나왔어요.

영향 범위가 HTTP 통신을 다루는 소프트웨어 전반으로 넓어지자 아이키도는 여기에 ‘HTTP투셸(HTTP2Shell)’이라는 새 이름을 붙였어요. 식별번호는 CVE-2026-111497이고, CVSS 4.0 기준 9.2점으로 최고 위험 등급인 '치명적 위협'에 해당해요.

압축 해제 단계의 결함 원리

브로틀리는 웹페이지 문자와 프로그램 코드의 용량을 줄여 인터넷으로 빠르게 보내도록 돕는 기술이에요. 받는 쪽 서버나 프로그램은 이 데이터를 다시 풀어 원래 내용으로 되돌리는데, 문제는 바로 이 복원 단계에 숨어 있었어요.

압축 해제 프로그램이 비정상 데이터를 제대로 걸러내지 못해, 공격자가 조작한 압축 데이터를 보내면 허용 범위 밖 메모리에 값이 기록될 수 있어요. 그 결과 서버가 비정상 종료되거나 메모리 정보가 새어 나갈 수 있고, 특정 조건에서는 원격 악성 코드 실행까지 이어질 가능성이 있어요.

영향 소프트웨어와 패치 현황

노드JS 개발진은 10월 21일 압축 해제 결함을 고친 업데이트를 먼저 내놨어요. 이후 결함의 출처가 노드JS 자체가 아닌 공용 브로틀리 라이브러리로 확인되면서 다른 프로젝트들도 잇따라 수정판을 공개했어요.

구분대상역할현재 상태
서버 실행 환경 노드JS(Node.js) 웹사이트·서버 프로그램 개발 10월 21일 수정 업데이트 공개
파이썬 라이브러리 Brotli, brotlicffi 파이썬용 압축 처리 수정 버전 공개
통신 중계 엔보이(Envoy) 웹서버와 애플리케이션 사이 통신 중계 보안 업데이트 공개
자바스크립트 실행 환경 번(Bun) 자바스크립트 코드 실행 보안 업데이트 공개

눈여겨볼 대목은 파이썬 라이브러리가 다른 웹 통신 프로그램에 포함돼 배포되기도 한다는 점이에요. 개발자가 브로틀리를 직접 불러 쓰지 않았더라도 의존하는 패키지를 거쳐 영향을 받을 수 있어요.

8개월간의 공백과 점검 도구 사각지대

근본 결함은 이미 2026년 2월에 드러났어요. 아이키도에 따르면 당시 오픈AI가 브로틀리 압축 해제 과정의 오류를 발견했고 소스코드 수정도 이뤄졌어요. 하지만 심각한 보안 문제로 인식되지 않아 정식 보안 업데이트로 배포되지 않았고, 취약한 버전은 8개월 가까이 여러 소프트웨어에 남아 있었어요.

자동 점검 도구도 이 위험을 놓칠 수 있어요. 아이키도는 10월 23일 기준 취약점 데이터베이스에 파이썬 패키지 영향 정보가 제대로 연결되지 않아 pip-audit, Dependabot, Safety 3종이 결함을 탐지하지 못한다고 지적했어요. 취약점이 등록돼 있어도 실제 패키지와 이어지지 않으면 경고 자체가 뜨지 않는 구조예요.

그래서 이번 건에서는 도구 경고가 없다는 사실만으로 안전하다고 판단하기 어려워요. 설치된 버전을 사람이 직접 대조하는 절차를 한 번 더 거쳐야 해요.

위험 판단 기준 3가지

브로틀리를 쓰는 웹사이트가 모두 공격 대상은 아니에요. 핵심은 취약한 버전의 압축 해제 기능을 쓰면서, 외부에서 들어온 조작 가능한 데이터를 그대로 처리하느냐예요.

기준확인할 내용위험이 높은 경우
버전 노드JS, 파이썬 Brotli·brotlicffi, 엔보이, 번의 설치 버전 수정판 이전 버전을 그대로 사용
데이터 출처 브로틀리 압축 데이터를 어디서 받는지 외부 요청의 압축 데이터를 자동으로 해제
내장 구성 요소 다른 패키지 안에 포함된 브로틀리 라이브러리 의존 패키지 속 라이브러리를 점검하지 않음

앞의 두 기준에 동시에 해당하면 가장 먼저 손봐야 할 대상이에요. 세 번째 기준은 브로틀리를 쓰지 않는다고 여겼던 서비스까지 걸러내는 마지막 확인 단계예요.

패치 적용 순서와 임시 대응

첫 단계는 직접 사용하는 소프트웨어의 업데이트예요. 수정판이 나온 노드JS, 파이썬 브로틀리 라이브러리, 엔보이, 번은 최신 버전으로 올리는 일이 우선이에요.

다음은 다른 프로그램 내부에 들어 있는 라이브러리 차례예요. 상위 소프트웨어를 갱신해도 내장된 브로틀리 라이브러리는 별도로 업데이트해야 할 수 있어, 의존성 목록을 열어 실제 버전을 하나씩 확인해야 해요.

당장 패치가 어렵다면 외부에서 전달되는 브로틀리 압축 데이터의 자동 해제 기능을 제한하는 임시 조치가 권고돼요. 업데이트 일정이 잡히기 전까지 공격 경로를 좁혀 두는 방법이에요.

브로틀리 취약점 한눈에 정리

첫째, HTTP투셸(CVE-2026-111497)은 노드JS가 아닌 구글 브로틀리 압축 해제 기능의 결함이며 CVSS 9.2점의 치명적 등급이에요.

둘째, 취약 버전으로 외부 조작 데이터를 자동 해제하는 환경이 주요 공격 대상이고, 다른 패키지에 내장된 라이브러리도 점검 범위에 넣어야 해요.

셋째, pip-audit 같은 자동 도구가 결함을 놓칠 수 있으니 버전을 직접 확인하고, 패치가 늦어지면 자동 해제 기능부터 제한해 두세요.

728x90
반응형