피드로 돌아가기
Node.js 18.20.1 (LTS)
Node.js BlogNode.js Blog
Security

Node.js 18.20.1 LTS가 HTTP/2 서버 크래시와 HTTP 요청 스머글링 보안 취약점 2건을 수정해 llhttp 9.2.1과 undici 5.28.4로 업데이트

Node.js 18.20.1 (LTS)

2024년 4월 3일3beginner

Context

Node.js HTTP/2 구현에서 Http2Session 소멸자의 검증 실패로 인한 서버 크래시 취약점이 존재했다. Content-Length 난독화를 통한 HTTP 요청 스머글링 공격이 가능한 상태였다.

Technical Solution

  • CVE-2024-27983 수정: Http2Session 소멸자의 잘못된 어서션 검증 로직 패치
  • CVE-2024-27982 수정: HTTP 요청 헤더의 Content-Length 값 검증 강화
  • llhttp 버전을 9.2.1로 업그레이드하여 HTTP 파싱 보안 개선
  • undici 버전을 5.28.4로 업그레이드하여 HTTP 클라이언트 라이브러리 보안 강화

Key Takeaway

Node.js LTS 버전은 보안 취약점 발견 시 신속한 패치를 통해 프로덕션 환경의 안정성을 유지하므로, HTTP/2 서버를 운영하는 엔지니어는 보안 릴리스를 우선적으로 적용해야 한다.


Node.js

1

8.x를 사용하는 프로덕션 HTTP/2 서버를 운영할 때, CVE-2024-27983으로 인한 Http2Session 크래시와 CVE-2024-27982의 요청 스머글링 공격으로부터 보호받으려면

1

8.

2

0.1 이상으로 즉시 업그레이드해야 한다.

원문 읽기