KR — 전자신문
티오리, 'Node2Shell' 긴급 대응 가이드 공개
보안2분 읽기
티오리가 Node.js의 새 보안 취약점 'Node2Shell'을 직접 재현해 확인하고, 대응 가이드를 공개했다는 소식입니다.
무슨 일이 있었나
보안 기업 티오리는 지난 21일 공개된 Node.js 취약점 'Node2Shell(CVE-2026-111497)'을 자체적으로 재현하고 검증했습니다. 그리고 26일 대응 가이드를 공개했습니다. Node.js는 웹 서버와 백엔드(화면 뒤에서 데이터를 처리하는 서버 부분)를 만들 때 많이 쓰는 도구입니다.
취약점은 어떻게 생겼나
데이터를 작게 줄이는 압축 기술 '브로틀리'로 압축된 데이터를 풀 때 메모리 처리 오류가 생깁니다. 정상적인 프로그램이라면 잘못된 데이터를 오류로 막아야 합니다. 하지만 취약한 모듈은 일부 이상한 데이터를 걸러내지 못하고 계속 처리합니다. 그 결과 정해진 메모리 범위를 벗어나 데이터를 쓸 수 있습니다. 메모리가 망가지면 서버가 갑자기 꺼지거나 메모리 안의 정보가 새어 나갈 수 있습니다. 특정 조건에서는 공격자가 멀리서 코드를 실행할 가능성도 있습니다.
꼭 알아야 할 숫자와 사실
- Node.js가 정한 위험도: '높음(High)'
- 영향을 받는 버전: 보안 패치가 없는 Node.js 22.x, 24.x, 26.x
- 수정된 버전: 22.23.4, 24.22.1, 26.12.1 (지난 21일 배포)
- 무료 점검 서비스: 'Node.js Guard' (서비스 주소를 넣어 노출 여부 확인)
모든 서버가 위험한 것은 아니다
이 취약점은 개발자가 쓴 코드 때문이 아니라 Node.js 자체에서 생깁니다. 다만 밖에서 온 나쁜 압축 데이터가 취약한 압축 해제 부분까지 도달해야 공격이 성립합니다. 즉, 바로 업데이트하기 어려운 기업은 임시 대응 방안을 먼저 적용할 수 있습니다. 티오리는 리버스 프록시(바깥 요청을 받아 안쪽 서버로 전달하는 문지기 서버)와 앱 단계에서 쓸 수 있는 임시 방법을 함께 제시했습니다.
왜 중요한가
개발자가 압축 기능을 직접 쓰지 않아도 웹 프레임워크(개발을 돕는 기본 틀)가 내부에서 이 기능을 쓸 수 있습니다. 그래서 내가 쓰지 않았다고 안심하면 안 됩니다. 임준오 티오리 AI & 사이버 리서치팀 총괄은 임시 조치와 함께 최신 보안 패치를 적용해야 한다고 말했습니다.
용어 풀이
- Node.js
- 웹 서버와 백엔드를 만들 때 쓰는 자바스크립트 실행 도구입니다.
- 티오리
- 보안 솔루션을 만드는 국내 기업으로, 이번 취약점을 재현하고 대응 가이드를 냈습니다.
- 리버스 프록시
- 바깥의 요청을 먼저 받아 안쪽 서버로 전달하는 중간 문지기 서버입니다.
- Node.js Guard
- 서비스 주소를 입력하면 취약점 노출 가능성을 점검해 주는 무료 온라인 진단 서비스입니다.
- CVE-2026-111497
- 이 취약점에 붙은 공식 보안 취약점 고유 번호입니다.