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

4℃

Node.js 취약점 10건 수정.png

어제 기사로 다룬 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

dns.resolve가 NUL 문자가 든 이름을 잘라냄

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

randomUUID·randomInt 엔트로피 캐시가 스냅샷에 저장됨

Medium

26.x, 24.x, 22.x

CVE-2026-106070

ZIP 헤더 검증 실패 후 공격자가 심은 앞부분 바이트를 반환

Low

26.x

CVE-2026-106071

권한 모델이 와일드카드 조회로 파일 접근을 과하게 허용

Low

26.x

CVE-2026-106073

fs.realpathSync로 권한 모델 우회

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 버전까지 점검 대상이라는 뜻입니다.

 

참고링크

0 0