피드로 돌아가기
Node.js 12.18.4 (LTS)
Node.js BlogNode.js Blog
Backend

Node.js 12.18.4가 HTTP 요청 스머글링 및 fs.realpath.native 버퍼 오버플로우 2개 보안 취약점을 패치

Node.js 12.18.4 (LTS)

2020년 9월 15일3intermediate

Context

Node.js 런타임에서 HTTP 요청 처리 시 CR-to-Hyphen 변환 로직의 결함으로 인한 요청 스머글링 공격이 가능했다. fs.realpath.native API 사용 시 메모리 버퍼 오버플로우가 발생할 수 있었다.

Technical Solution

  • CVE-2020-8201 수정: HTTP 헤더 파싱 중 캐리지 리턴(CR)을 하이픈으로 변환하는 로직 제거로 요청 스머글링 방지
  • CVE-2020-8252 수정: fs.realpath.native 함수의 버퍼 할당 및 경계 검사 로직 강화로 오버플로우 방지
  • Node.js 12.18.4 LTS 버전으로 배포: Windows(32/64-bit), macOS, Linux(x64/PPC/s390x/ARMv7/ARMv8), AIX, SmartOS 플랫폼 지원
  • 바이너리 무결성 검증: 모든 배포 파일에 SHA256 체크섬 및 PGP 서명 제공

Node.js 기반 웹 서비스를 운영하는 팀은

1

2.

1

8.4 이상으로 즉시 업그레이드하여 HTTP 요청 스머글링 공격 차단 및 파일 시스템 버그 방지가 필요하다. 특히 멀티테넌트 환경이나 프록시 뒤에서 실행되는 서비스의 경우 CVE-2020-8201 패치가 중요하다.

원문 읽기