Node.js 22·24·26 보안 업데이트: HTTP/2와 권한 모델 경계를 다시 잠근다
Node.js 22.23.2·24.18.1·26.5.1이 HTTP/2, 권한 모델, TLS 세션 재사용 등 고위험 취약점을 수정했다. 운영 프로젝트의 영향과 업데이트 점검 항목을 정리한다.
Node.js 프로젝트가 2026년 7월 29일 22.x·24.x·26.x용 보안 업데이트를 공개했다. 최신 수정 버전은 각각 22.23.2, 24.18.1, 26.5.1이다. 이번 묶음은 HTTP/2 메모리 안전성과 자원 고갈, 권한 모델의 파일 경로 검사, HTTPS 세션·인증서 재사용, DNS·압축·내장 SQLite 등 서버 런타임의 여러 경계를 함께 손본다.
무엇이 바뀌었나
심각도 ‘높음’으로 분류된 핵심 문제는 세 갈래다. CVE-2026-56848은 HTTP/2 처리 중 재진입 호출로 힙 사용 후 해제1가 발생할 수 있는 문제로 22.x·24.x·26.x 모두 영향을 받는다. CVE-2026-58043은 --permission을 사용할 때 경로 접두어 경계가 잘못 처리돼 허용 목록 밖의 파일을 읽거나 쓸 수 있는 문제다. 24.x와 22.x에는 HTTP/2 헤더 메모리가 세션 한도를 우회해 원격 메모리 고갈로 이어질 수 있는 CVE-2026-56846도 포함된다.
중간 심각도 수정에는 서로 다른 PFX 인증서 사이에서 mTLS 신원이 잘못 재사용될 수 있는 CVE-2026-56850, TLS 세션 재사용 시 호스트 이름 검증이 건너뛰어질 수 있는 CVE-2026-58040, 과도한 A 레코드 응답으로 dns.resolveAny() 프로세스가 중단될 수 있는 CVE-2026-58042가 있다. node:sqlite의 CVE-2026-58041은 24.x·26.x에 해당하며, 나머지 다수 항목은 세 활성 릴리스 계열에 공통 적용된다.
개발자에게 왜 중요한가
HTTP/2와 HTTPS 문제는 외부 요청을 직접 받는 API 서버·프록시·게이트웨이에 영향을 줄 수 있다. 권한 모델 문제는 제한된 파일 접근만 허용했다고 믿고 플러그인이나 신뢰도가 낮은 코드를 실행하는 환경의 경계를 약화한다. 즉, 애플리케이션 코드에서 해당 API를 명시적으로 호출하지 않았더라도 웹 프레임워크나 네트워크 라이브러리가 런타임 기능을 사용한다면 패치 대상이 될 수 있다.
Node.js 공식 공지는 공개 공격이 확인됐다고 밝히지 않았다. 따라서 실제 악용을 단정할 근거는 없지만, 심각도와 네트워크 노출 가능성을 고려하면 지원 계열의 패치 버전으로 신속히 올리는 편이 타당하다.
기존 프로젝트 영향
현재 지원되는 계열은 26.x Current, 24.x LTS, 22.x LTS이며 수정판은 26.5.1·24.18.1·22.23.2다. Node.js 20 이하처럼 수명이 끝난 버전은 이번 보안 수정의 지원 대상이 아니다. 운영 환경이 EOL 버전에 머물러 있다면 단순 패치가 아니라 지원되는 주 버전으로의 마이그레이션 계획이 필요하다.
패치 릴리스이므로 의도적인 API 파괴 변경은 없지만, HTTP 헤더 수 제한, TLS 세션 재사용, 권한 경로 판정이 더 엄격해져 비표준 프록시나 지나치게 넓은 헤더를 보내는 클라이언트에서 동작 차이가 드러날 수 있다. undici와 llhttp도 함께 업데이트됐다.
적용·업데이트 전 확인 사항
- 컨테이너 이미지, 서버리스 런타임, CI 실행기까지 실제
node --version을 확인한다. - 22.x는 22.23.2 이상, 24.x는 24.18.1 이상, 26.x는 26.5.1 이상으로 맞춘다.
- HTTP/2 부하 테스트와 최대 헤더 수, 프록시의 본문 전달 방식을 점검한다.
- mTLS를 쓰면 인증서별 Agent 분리와 세션 재사용 결과를 확인한다.
--permission사용 환경에서는 허용 경로와 비슷한 접두어를 가진 금지 경로에 접근할 수 없는지 회귀 테스트한다.- 공식 배포 파일을 사용할 경우 제공된 SHA-256 서명을 검증하고, 패키지 관리자 이미지가 새 버전을 실제 포함하는지 확인한다.
출처
- Node.js 프로젝트 — 2026년 7월 보안 릴리스 공지
- Node.js 24.18.1 LTS 공식 릴리스 노트
- Node.js 26.5.1 원 저장소 릴리스
- Node.js 지원 버전 및 릴리스 주기
1 힙 사용 후 해제(use-after-free): 이미 반환된 메모리를 다시 참조해 충돌이나 예기치 않은 동작을 일으킬 수 있는 메모리 안전성 오류.