피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js가 3개의 보안 취약점(CVE-2018-7167, CVE-2018-7161, CVE-2018-1000168)을 패치해 DoS 공격으로부터 버퍼, HTTP/2, nghttp2 레이어 보호
Node.js 8.11.3 (LTS)
AI 요약
Context
Node.js 8.x LTS 버전에서 Buffer.fill() 호출 시 무한 대기 상태가 발생하고, HTTP/2 구현의 특정 정리 단계에서 크래시가 발생하는 문제가 있었습니다. nghttp2 라이브러리에도 DoS 취약점이 존재했습니다.
Technical Solution
- Buffer 모듈의 CVE-2018-7167 패치: Buffer.fill() 함수의 무한 대기 상태를 제거하여 프로세스 응답성 복구
- HTTP/2 모듈의 CVE-2018-7161 패치: cleanup 단계에서의 크래시 조건을 수정하여 비정상 종료 방지
- nghttp2 업그레이드: nghttp2를 1.32.0 버전으로 업그레이드하여 CVE-2018-1000168 DoS 취약점 제거
- 다중 플랫폼 배포: Windows(32/64-bit), macOS, Linux(6개 아키텍처), AIX, SmartOS 바이너리 제공
Impact
아티클에 정량적 성능 수치가 명시되지 않았습니다.
Key Takeaway
LTS 버전의 보안 패치는 버퍼 관리, 프로토콜 구현, 의존 라이브러리 세 계층의 DoS 취약점을 동시에 해결하는 것이 중요합니다. 단일 버전 업그레이드만으로는 부족하며, 핵심 컴포넌트의 깊은 재점검이 필요합니다.
실천 포인트
Node.js
8.
1
1.2 이하를 운영 중인 팀에서는 즉시
8.
1
1.3으로 업그레이드해야 합니다. 특히 HTTP/2 프로토콜을 사용하거나 대용량 버퍼 조작을 하는 애플리케이션은 클라이언트의 의도적인 Buffer.fill() 호출이나 HTTP/2 요청으로 인한 서비스 중단에 노출되어 있습니다.