PHP에 이어 Node.js도 2026년 10월 보안 패치 공개

어제 기사로 다룬 PHP2Shell에 이어 같은날 Node.js 보안 릴리스도 나왔습니다.
|
|
PHP2Shell |
Node.js 10월 릴리스 |
|---|---|---|
|
공개일 |
10월 21일 |
10월 21일 |
|
취약점 |
2건 |
10건 |
|
최고 심각도 |
Critical (CVSS 9.2) |
High |
|
올리는 주체 |
주로 호스팅사 |
개발자·운영자 본인 |
Node.js는 현재 유지되는 세 갈래가 모두 대상입니다. 26.x는 26.12.1, 24.x는 24.22.1, 22.x는 22.23.4로 올리면 됩니다. 지원이 끝난 버전은 보안 릴리스 때마다 항상 영향을 받으므로 따로 대응해야 합니다.
고친 취약점은 모두 10건으로 High 4건, Medium 3건, Low 3건입니다. PHP2Shell처럼 Critical로 분류된 건은 없습니다. 다만 가장 무거운 CVE-2026-111497은 Brotli 디코더의 범위 밖 쓰기 결함으로, 원격 코드 실행까지 이어질 수 있습니다. 제보는 OpenAI Codex Security 팀이 했고 Node.js 메인테이너 두 명이 고쳤습니다. TLS 인증서의 호스트명 검증을 우회하는 결함도 2건 들어 있습니다.
취약점 10건 전체
심각도 순으로 정리했습니다. 영향 버전은 공지에 표기된 릴리스 갈래입니다.
|
CVE |
내용 |
심각도 |
영향 버전 |
|---|---|---|---|
|
CVE-2026-111497 |
Brotli 디코더 범위 밖 쓰기, 원격 코드 실행 가능 |
High |
26.x, 24.x, 22.x |
|
CVE-2026-105482 |
|
High |
26.x, 24.x, 22.x |
|
CVE-2026-105483 |
전각 숫자로 쓴 IP로 TLS 호스트명 검증 우회 |
High |
26.x, 24.x |
|
CVE-2026-106069 |
호스트명이 IP로 느슨하게 해석될 때 TLS 호스트명 검증 우회 |
High |
26.x, 24.x, 22.x |
|
CVE-2026-105481 |
Keep-alive 소켓이 요청 전에 도착한 응답을 처리 |
Medium |
26.x, 24.x, 22.x |
|
CVE-2026-106072 |
비표준 IPv4 호스트명에 대한 인증서 검증 미흡 |
Medium |
26.x, 24.x, 22.x |
|
CVE-2026-106074 |
|
Medium |
26.x, 24.x, 22.x |
|
CVE-2026-106070 |
ZIP 헤더 검증 실패 후 공격자가 심은 앞부분 바이트를 반환 |
Low |
26.x |
|
CVE-2026-106071 |
권한 모델이 와일드카드 조회로 파일 접근을 과하게 허용 |
Low |
26.x |
|
CVE-2026-106073 |
|
Low |
26.x, 24.x, 22.x |
Medium 중에서는 CVE-2026-106074를 눈여겨볼 만합니다. 난수 캐시가 시작 스냅샷과 단일 실행 파일에 함께 저장돼, 그 바이너리로 띄운 모든 프로세스가 같은 난수를 반복합니다. 토큰이나 세션 아이디를 이 함수로 만들었다면 영향 범위가 넓어집니다.
대응 — 무엇을 먼저 할지
|
쓰는 버전 |
올릴 버전 |
릴리스 노트 |
|---|---|---|
|
22.x |
22.23.4 |
|
|
24.x |
24.22.1 |
|
|
26.x |
26.12.1 |
우선순위를 매긴다면 Brotli 건이 먼저입니다. 압축 응답을 받아 푸는 서버나 프록시, 즉 외부 입력을 그대로 디코더에 넘기는 경로가 있다면 바로 올리는 쪽이 안전합니다. TLS 호스트명 검증 우회 2건은 바깥으로 HTTPS 요청을 보내는 쪽에 걸립니다. 서버 간 호출이 많은 구조라면 함께 묶어 보는 것이 좋습니다.
의존성도 같이 갱신됐습니다. c-ares와 Undici는 세 갈래 모두, OpenSSL은 24.x와 22.x, SQLite는 22.x만 올랐습니다. 눈에 띄는 것은 eMudhra 중간 CA 침해로 인한 인증서 목록 교체로, 세 갈래 모두에 들어갔습니다. 신뢰 저장소가 바뀌는 변경이니 사설 CA를 끼워 쓰는 환경은 올린 뒤 연결을 한 번 확인하시는 편이 좋습니다.
지원이 끝난 버전을 아직 돌리고 있다면 이번 패치는 오지 않습니다. 공지는 유지보수 LTS를 지난 버전에 대해 OpenJS 생태계 지속성 프로그램 파트너의 상용 지원을 안내하고 있습니다.
국내에서 이번 패치가 닿는 범위는 생각보다 넓습니다. Node.js는 국내 웹 서비스의 서버 런타임으로도 쓰이지만, 그보다 더 많이 쓰이는 곳은 프런트엔드 빌드 도구입니다. 리액트와 뷰 기반 프로젝트의 빌드, 패키지 설치, 개발 서버가 모두 Node 위에서 돕니다. 사내 빌드 서버와 CI 러너에 깔린 Node 버전까지 점검 대상이라는 뜻입니다.
참고링크
- Node.js Security Releases: October 21, 2026 — Node.js 공식 블로그, 2026년 10월 21일
- Node.js v22.23.4 릴리스 노트
- Node.js v24.22.1 릴리스 노트
- Node.js v26.12.1 릴리스 노트
- Node.js 지원 종료 안내 — 지원 종료 버전의 상용 지원 관련
- PHP 코어에 인증 없는 원격 코드 실행 취약점 2건… 전 세계 웹 서버 긴급 패치 — 본지, 2026년 10월 22일. 리드에서 연결한 어제 기사
- CVE-2026-109618 and CVE-2026-109619: Critical Unauthenticated Remote Code Execution in PHP — Rapid7, PHP 쪽 심각도 비교용