피드로 돌아가기
Node.js BlogSecurity
원문 읽기
Node.js 보안팀이 OpenSSL 1.0.1u/1.0.2i 통합 및 TLS 인증서 검증 결함 수정으로 v6.7.0, v4.6.0, v0.12.16, v0.10.47 일괄 배포
Security updates for all active release lines, September 2016
AI 요약
Context
Node.js는 OpenSSL 프로젝트의 보안 업데이트 발표와 Node.js 자체 TLS 인증서 검증, HTTP 응답 검증, 네이티브 코드 로딩 처리에서 보안 결함을 발견했다. 이러한 결함들이 모든 활성 릴리스 라인에 영향을 미치고 있었다.
Technical Solution
- OpenSSL 버전 통합: Node.js v4 이상에 OpenSSL 1.0.2i, v0.10과 v0.12에 OpenSSL 1.0.1u 통합
- TLS 인증서 검증 결함 수정: 와일드카드 인증서의 *. 문자열 검증 로직 수정으로 악의적 서버의 부정확한 인증서 승인 방지
- HTTP 응답 분할 방지: writeHead() 함수의 reason 매개변수에 대한 개행 문자 필터링 추가
- 네이티브 엔진 모듈 로딩 보안: ENGINE_load_builtin_engines() 호출 시 동적 엔진 모듈 로딩 제어로 Windows DLL 검색 경로 기반 악성 코드 주입 방지
- 보안 절차 준수: API 호환성 파괴 변경사항을 마이너 버전 증가(x.y.z에서 y 증가) 또는 패치 버전 증가로 배포
Key Takeaway
보안 업데이트 배포 시 모든 활성 릴리스 라인(Current, LTS, Maintenance)에 대해 일관된 일정 조율과 함께 기술적 결함을 다중 계층(외부 라이브러리, 언어 자체, 표준 라이브러리)에서 체계적으로 식별하고 수정하는 것이 중요하다. 특히 v0.10 지원 종료 공지를 통해 사용자에게 마이그레이션 예고 기간을 명확히 제공해야 한다.
실천 포인트
Node.js를 프로덕션에서 운영하는 팀은 2016년 9월 27일 이후 배포된 v
6.
7.0, v
4.
6.0, v
0.
1
2.16 이상으로 즉시 업그레이드해야 한다. 특히 TLS를 사용하는 클라이언트는 와일드카드 인증서 검증 결함으로 악의적 서버의 부정확한 인증서를 승인받을 수 있으므로 긴급 업그레이드가 필수이다. v
0.10을 여전히 사용 중이라면 10월 지원 종료 전에 v4 LTS 또는 v6로 마이그레이션을 완료해야 한다.