
2026년 10월 28일 수요일 발행
Node.js 보안 취약점, 22·24·26 버전 업데이트 필요
웹 서버를 돌리는 데 쓰는 Node.js에서 보안 취약점이 재현됐어요. 보안 기업 티오리는 Node.js 런타임의 Node2shell 취약점(CVE-2026-111497)을 검증하고, 기업·기관용 긴급 대응 가이드를 공개했어요. 티오리는 공격자가 인증 없이 조작된 압축 데이터를 보내 서버를 멈추게 하거나, 원격으로 코드를 실행해 서버 제어권을 가져갈 수 있다고 밝혔어요.
영향 대상은 최신 보안 패치가 적용되지 않은 Node.js 22.x·24.x·26.x예요. 이 문제는 개발자가 작성한 코드의 하자와 관계없이 런타임 버전 자체에서 생기며, Brotli 압축 데이터가 디코더까지 도달하는 경로가 있는 환경에서 공격 조건이 갖춰져요. 개발자가 압축 기능을 직접 쓰지 않았더라도 웹 프레임워크가 응답을 처리하는 과정에서 이런 경로가 생길 수 있어요.
Node.js 보안팀은 수정 버전인 22.23.4·24.22.1·26.12.1 이상을 배포하고 전면 업데이트를 강력히 권고했어요.
체리 두 조각
1. 즉시 업데이트
즉시 업데이트를 우선하면 취약점이 런타임 자체에서 생기는 만큼 버전을 올리는 게 가장 확실한 대응이에요. Node.js 보안팀도 22.23.4·24.22.1·26.12.1 이상으로 전면 업데이트를 강력히 권고했어요.
2. 임시 차단 먼저
임시 차단을 먼저 하면 시스템 사정상 바로 업데이트하기 어려운 곳도 패치 전까지 공격을 막을 수 있어요. 티오리는 이런 기업을 위해 리버스 프록시와 애플리케이션 단의 임시 완화 방안을 함께 제시했어요.
📖 용어 한 입
- Node.js 런타임
- 자바스크립트로 만든 프로그램을 서버에서 실행하게 해주는 실행 환경이에요. 웹 서비스의 요청 처리와 응답 전송 등에 쓰일 수 있어요.
- Brotli
- 웹에서 전송하는 데이터를 더 작게 만들어 통신량을 줄이는 압축 방식이에요. 서버나 브라우저가 압축된 데이터를 풀어 처리할 수 있어요.
💬 한 입 더 알아보기
- Q. Node2shell 취약점 대응을 위해 권고된 Node.js 수정 버전은 무엇인가요?
- Node.js 보안팀은 22.23.4·24.22.1·26.12.1 이상 버전을 배포하고 전면 업데이트를 강력히 권고했습니다.