피드로 돌아가기
Node.js BlogSecurity
원문 읽기
Node.js 20.12.1 LTS 릴리스로 HTTP/2 서버 크래시 및 HTTP Request Smuggling 취약점 2개 패치
Node.js 20.12.1 (LTS)
AI 요약
Context
Node.js HTTP/2 구현에서 Http2Session 소멸자의 assertion 실패로 인한 서버 크래시 취약점이 발견되었다. Content-Length 난독화를 통한 HTTP Request Smuggling 공격으로 요청 검증 우회 가능성이 존재했다.
Technical Solution
- CVE-2024-27983 패치: Http2Session 소멸자의 assertion 조건 개선으로 HTTP/2 세션 종료 시 안정성 강화
- CVE-2024-27982 패치: Content-Length 헤더 검증 로직 강화로 요청 스머글링 방지
- llhttp를 9.2.1 버전으로 업그레이드하여 HTTP 파싱 보안 개선
- undici를 5.28.4 버전으로 업그레이드하여 HTTP 클라이언트 보안 강화
Impact
CVE-2024-27983의 심각도는 High로 분류되었고, CVE-2024-27982의 심각도는 Medium으로 분류되었다.
Key Takeaway
LTS 버전에서 보안 릴리스는 HTTP 프로토콜 파싱과 세션 관리 영역의 취약점을 먼저 대상으로 하며, 의존성 라이브러리(llhttp, undici)의 버전 업그레이드도 함께 진행되어야 한다.
실천 포인트
Node.js
2
0.x LTS를 사용하는 프로덕션 환경에서는 v
2
0.
1
2.1 이상으로 즉시 업그레이드해야 하며, 특히 HTTP/2를 활용하는 서버나 외부 HTTP 요청을 처리하는 애플리케이션은 Request Smuggling 공격으로부터 보호받을 수 있다.