티오리, 'Node2Shell' 긴급 대응 가이드 공개

(출처=티오리)
(출처=티오리)

티오리는 지난 21일 공개된 Node.js 보안 취약점 'Node2Shell(CVE-2026-111497)'을 자체 재현·검증하고 대응 가이드를 공개했다고 26일 밝혔다.

Node2Shell은 웹 서버와 백엔드 개발에 사용되는 Node.js에서 발견된 취약점이다. 웹 데이터의 전송량을 줄이는 압축 기술 '브로틀리(Brotli)'로 압축된 데이터를 해제하는 과정에서 메모리 처리 오류가 발생하는 것이 원인이다. Node.js는 취약점 위험도를 '높음(High)'으로 분류했다.

정상적인 압축 해제 과정에서는 잘못된 데이터 형식을 오류로 처리해야 하지만, 취약한 모듈은 일부 비정상 데이터를 제대로 걸러내지 못하고 처리를 계속하는 문제가 있다. 이 과정에서 메모리의 정해진 범위를 벗어나 데이터를 기록할 수 있다.

메모리가 손상되면 서버 프로그램이 비정상 종료되거나 메모리 정보가 노출될 수 있으며, 특정 조건에서는 공격자가 원격으로 코드를 실행할 가능성도 있다.

취약점은 개발자가 작성한 코드와 관계없이 Node.js 자체에서 발생한다.

다만 모든 Node.js 서버가 공격에 노출되는 것은 아니다. 외부에서 전달된 악성 압축 데이터가 취약한 압축 해제 모듈까지 도달하는 경우에 공격이 성립할 수 있다.

영향을 받는 버전은 보안 패치가 적용되지 않은 Node.js 22.x, 24.x, 26.x다. Node.js는 지난 21일 취약점을 수정한 22.23.4, 24.22.1, 26.12.1 버전을 배포했다.

티오리는 즉각적인 업데이트가 어려운 기업을 위해 리버스 프록시와 애플리케이션 단계에서 적용할 수 있는 임시 대응 방안도 제시했다.

운영 중인 서비스의 URL을 입력해 취약점 노출 가능성을 점검하는 무료 온라인 진단 서비스 'Node.js Guard'도 공개했다.

임준오 티오리 AI & 사이버 리서치팀 총괄은 “개발자가 압축 기능을 직접 사용하지 않더라도 웹 프레임워크의 데이터 처리 과정에서 취약점에 노출될 수 있다”며 “임시 조치와 함께 최신 보안 패치를 적용해야 한다”고 말했다.

박진형 기자 jin@etnews.com

  • ET Events