구글 데이터 압축 기술 브로틀리 결함…'노드투셸' 넘어 웹 전체 'HTTP투셸'로 확산
노드JS 이어 파이썬·C++·엔보이도 직격탄…8개월 전 오픈AI 제보 방치
보안 위험도 9.2점 초고위험군…"개별 프로그램마다 라이브러리 일일이 업데이트해야"
![[서울=뉴시스] 노드JS 로고. (사진=노드JS) *재판매 및 DB 금지](https://img1.newsis.com/2026/10/22/NISI20261022_0002271394_web.jpg?rnd=20261022172130)
[서울=뉴시스] 노드JS 로고. (사진=노드JS) *재판매 및 DB 금지
[서울=뉴시스]이주영 기자 = 웹사이트와 서버 프로그램 개발에 널리 쓰이는 노드JS(Node.js)에서 발견된 보안 취약점이 파이썬 등 다른 소프트웨어에서도 확인되면서 보안 우려가 커지고 있다.
문제의 원인은 구글이 개발한 데이터 압축 기술 '브로틀리(Brotli)'에 있다는 사실이 밝혀졌다. 여러 프로그램이 공통으로 사용하는 기술에 결함이 있어, 이를 활용하는 다양한 소프트웨어가 해킹 위험에 노출될 수 있다는 지적이다.
25일 정보기술(IT) 업계에 따르면 보안업체 아이키도 시큐리티는 지난 23일 공개한 분석 보고서에서 노드JS의 보안 취약점 '노드투셸(Node2Shell)'이 브로틀리 압축 해제 기능의 결함에서 비롯됐다고 밝혔다.
이후 조사에서 파이썬용 압축 라이브러리와 웹 통신을 중계하는 엔보이(Envoy) 등에서도 같은 결함이 확인됐다. 아이키도는 취약점의 영향 범위가 노드JS를 넘어 HTTP 통신 관련 소프트웨어 전반으로 확대됐다는 점에서 'HTTP투셸(HTTP2Shell)'이라는 이름을 붙였다.
이번 취약점의 근본 원인은 구글이 개발한 데이터 압축 기술 '브로틀리'에 있다.
브로틀리는 웹페이지의 문자와 프로그램 코드 등의 용량을 줄여 인터넷으로 빠르게 전송하도록 돕는 기술이다. 웹사이트와 서버는 전송된 압축 데이터를 다시 풀어 원래 내용으로 복원하는데, 이 과정에서 보안 결함이 발생할 수 있다는 것이다.
문제는 압축을 해제하는 프로그램이 비정상적인 데이터를 제대로 걸러내지 못한다는 점이다. 공격자가 특수하게 조작한 압축 데이터를 보내면 프로그램이 허용된 메모리 영역을 벗어나 데이터를 기록하는 오류가 발생할 수 있다.
이를 악용하면 서버가 비정상적으로 종료되거나 메모리 정보가 유출될 수 있다. 특정 조건에서는 공격자가 원격으로 악성 코드를 실행할 가능성도 있다.
해당 취약점에는 'CVE-2026-111497'이라는 식별번호가 부여됐다. 보안 취약점의 위험도를 평가하는 CVSS 4.0 기준 점수는 9.2점으로, 최고 위험 등급인 '치명적 위협'에 해당한다.
지난 21일 노드JS 개발진은 브로틀리 압축 해제 과정에서 발생하는 보안 결함을 수정한 업데이트를 공개했다. 그러나 추가 분석 결과 노드JS 자체의 문제가 아니라 여러 프로그램이 공통으로 사용하는 브로틀리 라이브러리의 결함이라는 사실이 드러났다.
아이키도에 따르면 파이썬용 압축 라이브러리인 'Brotli'와 'brotlicffi'에도 같은 취약점이 존재했다. 이들 라이브러리는 웹 통신에 사용되는 다른 프로그램에 포함되기도 해 개발자가 브로틀리를 직접 사용하지 않더라도 영향을 받을 수 있다.
웹서버와 애플리케이션 사이에서 통신을 중계하는 '엔보이'와 자바스크립트 실행 환경인 '번' 등에서도 같은 결함에 대한 보안 업데이트가 나왔다.
다만 해당 기술을 사용하는 모든 웹사이트가 위험한 것은 아니다. 취약한 버전의 브로틀리 압축 해제 기능을 사용하면서 외부에서 조작된 데이터를 처리하는 경우가 주요 공격 대상이다.
문제의 원인은 구글이 개발한 데이터 압축 기술 '브로틀리(Brotli)'에 있다는 사실이 밝혀졌다. 여러 프로그램이 공통으로 사용하는 기술에 결함이 있어, 이를 활용하는 다양한 소프트웨어가 해킹 위험에 노출될 수 있다는 지적이다.
25일 정보기술(IT) 업계에 따르면 보안업체 아이키도 시큐리티는 지난 23일 공개한 분석 보고서에서 노드JS의 보안 취약점 '노드투셸(Node2Shell)'이 브로틀리 압축 해제 기능의 결함에서 비롯됐다고 밝혔다.
이후 조사에서 파이썬용 압축 라이브러리와 웹 통신을 중계하는 엔보이(Envoy) 등에서도 같은 결함이 확인됐다. 아이키도는 취약점의 영향 범위가 노드JS를 넘어 HTTP 통신 관련 소프트웨어 전반으로 확대됐다는 점에서 'HTTP투셸(HTTP2Shell)'이라는 이름을 붙였다.
노드JS만의 문제 아니었다…구글 압축 기술서 결함 발견
브로틀리는 웹페이지의 문자와 프로그램 코드 등의 용량을 줄여 인터넷으로 빠르게 전송하도록 돕는 기술이다. 웹사이트와 서버는 전송된 압축 데이터를 다시 풀어 원래 내용으로 복원하는데, 이 과정에서 보안 결함이 발생할 수 있다는 것이다.
문제는 압축을 해제하는 프로그램이 비정상적인 데이터를 제대로 걸러내지 못한다는 점이다. 공격자가 특수하게 조작한 압축 데이터를 보내면 프로그램이 허용된 메모리 영역을 벗어나 데이터를 기록하는 오류가 발생할 수 있다.
이를 악용하면 서버가 비정상적으로 종료되거나 메모리 정보가 유출될 수 있다. 특정 조건에서는 공격자가 원격으로 악성 코드를 실행할 가능성도 있다.
해당 취약점에는 'CVE-2026-111497'이라는 식별번호가 부여됐다. 보안 취약점의 위험도를 평가하는 CVSS 4.0 기준 점수는 9.2점으로, 최고 위험 등급인 '치명적 위협'에 해당한다.
지난 21일 노드JS 개발진은 브로틀리 압축 해제 과정에서 발생하는 보안 결함을 수정한 업데이트를 공개했다. 그러나 추가 분석 결과 노드JS 자체의 문제가 아니라 여러 프로그램이 공통으로 사용하는 브로틀리 라이브러리의 결함이라는 사실이 드러났다.
아이키도에 따르면 파이썬용 압축 라이브러리인 'Brotli'와 'brotlicffi'에도 같은 취약점이 존재했다. 이들 라이브러리는 웹 통신에 사용되는 다른 프로그램에 포함되기도 해 개발자가 브로틀리를 직접 사용하지 않더라도 영향을 받을 수 있다.
웹서버와 애플리케이션 사이에서 통신을 중계하는 '엔보이'와 자바스크립트 실행 환경인 '번' 등에서도 같은 결함에 대한 보안 업데이트가 나왔다.
다만 해당 기술을 사용하는 모든 웹사이트가 위험한 것은 아니다. 취약한 버전의 브로틀리 압축 해제 기능을 사용하면서 외부에서 조작된 데이터를 처리하는 경우가 주요 공격 대상이다.
오픈AI가 8개월 전 오류 고쳤지만…보안 취약점인 줄 몰라
![[서울=뉴시스] 오픈AI 로고. (사진=오픈AI 제공) *재판매 및 DB 금지](https://img1.newsis.com/2026/07/24/NISI20260724_0002194863_web.jpg?rnd=20260724111027)
[서울=뉴시스] 오픈AI 로고. (사진=오픈AI 제공) *재판매 및 DB 금지
이번 취약점은 지난 2월 이미 근본적인 문제가 발견됐던 것으로 확인됐다.
아이키도에 따르면 오픈AI는 당시 브로틀리 압축 해제 과정의 결함을 발견했다. 이후 문제를 해결하는 소스코드 수정이 이뤄졌다.
그러나 당시에는 해당 오류가 심각한 보안 취약점으로 인식되지 않았다. 수정된 코드도 정식 보안 업데이트로 배포되지 않아 취약한 버전의 라이브러리가 여러 소프트웨어에서 계속 사용됐다.
더 큰 문제는 기존 보안 점검 도구에서도 이러한 위험을 놓칠 수 있었다는 점이다.
아이키도는 지난 23일 기준 취약점 관련 데이터베이스에 파이썬 패키지의 영향 정보가 제대로 연결되지 않아 'pip-audit', 'Dependabot', 'Safety' 등 주요 보안 점검 도구가 해당 결함을 탐지하지 못한다고 지적했다.
이들 도구는 개발자가 사용하는 소프트웨어에 알려진 보안 취약점이 있는지 자동으로 확인하는 역할을 한다. 그러나 취약점 정보가 등록돼 있더라도 실제로 영향을 받는 패키지와 연결되지 않으면 경고가 나타나지 않을 수 있다.
현재는 노드JS와 파이썬용 브로틀리 라이브러리, 엔보이 등 주요 소프트웨어에서는 수정 버전이 공개된 상태다.
다만 다른 프로그램 내부에 포함된 취약한 라이브러리는 별도로 업데이트해야 할 수 있어 기업과 기관은 사용 중인 소프트웨어뿐 아니라 내부에 포함된 구성 요소까지 점검해야 한다.
보안 패치를 즉시 적용하기 어려운 경우에는 외부에서 전달되는 브로틀리 압축 데이터의 자동 해제 기능을 제한하는 등 임시 대응이 필요하다는 지적이다.
◎공감언론 뉴시스 [email protected]
