Node.js 보안 업데이트 16건 — 22.23.5·24.22.3·26.13.1, Nginx 뒤에 둔 내 서버도 해당될까?
Node.js로 백엔드를 돌리고 있다면 지금 쓰는 버전 줄의 최신판(22.23.5·24.22.3·26.13.1)으로 올리는 것이 사실상 유일한 해결책입니다(공지에 우회책 없음). 11월 11일(미국) 보안 릴리스는 Node.js 자체 결함 16건을 고쳤고 그중 7건이 '높음'입니다. Nginx·로드밸런서 뒤에서 평문 node:http로 받는 서버는 위험한 서버 쪽 결함 8건의 대상이 아니지만, 클라이언트 쪽 결함 때문에 업데이트는 필요합니다.
무슨 일인가
가장 무거운 건 HTTPS 서버 결함(CVE-2026-123864)입니다. 인증 없는 접속자가 다른 연결의 메모리를 읽을 수 있고, 공지는 여기에 TLS 개인키와 다른 사용자의 요청이 포함된다고 적었습니다. 응답 헤더를 먼저 보낸(res.flushHeaders) 뒤 res.end()에 내용을 담아 끝내는 처리기와, 요청 본문을 되돌려 주거나 저장하는 라우트가 있어야 한다는 조건이 붙습니다. HTTP/2 쪽은 기본 설정 서버를 멈추게 하는 결함(CVE-2026-123863, 24·26)과 스트림이 끊길 때 해제됐거나 무관한 메모리 내용을 상대에게 보내는 결함(CVE-2026-123866, 전 버전 줄)이 함께 고쳐졌습니다.
| 내 서버 구조 | 서버 쪽 결함 8건 | 할 일 |
|---|---|---|
| Node.js가 HTTPS·HTTP/2를 직접 받음 | 대상 | 바로 업데이트·재시작 |
| Nginx·로드밸런서 뒤 node:http | 대상 아님 | 업데이트(클라이언트 쪽 결함) |
| 20.x·25.x 등 지원 종료 | 수정판 없음 | 22·24·26으로 이전 |
왜 중요한가
공지에는 업데이트 말고 임시 우회책이 없고, 실제 공격 보고도 아직 없습니다(THN). 프록시 뒤라도 안심할 수 없는 이유는 https.Agent가 앞서 맺은 TLS 세션을 더 엄격한 인증서 정책 요청에 재사용하는 결함(CVE-2026-123877)과, 프록시 설정 오류 메시지에 프록시 비밀번호가 그대로 찍히는 결함(CVE-2026-123871)이 세 버전 줄 모두에 있기 때문입니다. https.Agent로 외부 API를 부르며 인증서(ca) 설정을 요청마다 다르게 쓰거나 프록시 설정을 쓰는 서버라면 해당될 수 있습니다.
내 사업·앱에 무슨 의미
- 앱 운영자 — 외주로 만든 앱 서버가 Node.js라면 업체에 '지금 Node 버전'과 '서버 앞에 Nginx가 있는지' 두 가지를 물어보세요.
- 쇼핑몰·웹 운영자 — 카페24·워드프레스처럼 PHP로 도는 사이트는 이번 공지와 무관합니다. 같은 날 나온 Apache HTTP/2 취약점을 먼저 확인하세요.
- 개발자 — 도커를 쓴다면 베이스 이미지 태그를 새 버전으로 바꿔 다시 빌드해야 반영됩니다.
지금 해볼 것
앱몬스터 맥의 작업 폴더에는 Node.js 프로젝트(package.json)가 없어, 이 글은 2026년 11월 기준 Node.js 공식 공지로 정리했습니다.
Q&A — Node.js 보안 업데이트 자주 묻는 질문
Nginx 같은 프록시 뒤에 있으면 업데이트 안 해도 되나요?
그래도 업데이트하는 편이 맞습니다. HTTPS·HTTP/2·TLS 서버 쪽 결함 8건은 Node.js가 그 연결을 직접 받을 때 문제지만, https.Agent 인증서 검증 우회(CVE-2026-123877)와 프록시 비밀번호가 오류 메시지에 찍히는 결함(CVE-2026-123871)은 세 버전 줄 모두에 해당해 외부 API를 부르는 서버도 영향을 받습니다.
업데이트한 뒤 TLS 인증서 키도 바꿔야 하나요?
공지에는 키 교체 안내가 없습니다. 다만 Node.js가 HTTPS를 직접 받고, res.flushHeaders()로 헤더를 먼저 보내고 요청 본문을 되돌려 주거나 저장하는 라우트가 있었다면 공지가 개인키 노출 가능성을 적고 있으니 인증서 재발급을 검토할 만합니다. 그런 구조가 아니면 공지 기준 조치는 업데이트 하나입니다.
아직 Node.js 20을 쓰는데 어떻게 하나요?
22.23.5 이상으로 옮겨야 합니다. 20.x와 25.x는 지원이 끝난 버전이라 이번 수정판이 나오지 않았고, Node.js 프로젝트는 지원 종료 버전을 항상 영향받는 것으로 봅니다.
출처
- Node.js — Wednesday, November 11, 2026 Security Releases
- The Hacker News — Node.js Fixes 16 Flaws, Including HTTP/2 Bugs (2026-11-12)