Node.js 팀이 EOL 버전 대상 CVE 3개 거부에 따라 기존 CVE들을 EOL 릴리스 포함하도록 업데이트하는 정책 변경
Updates on CVE for End-of-Life Versions
AI 요약
Context
Node.js는 20개 이상의 EOL(End-of-Life) 버전을 관리하고 있으며, 각 버전마다 서로 다른 의존성, 빌드 프로세스, 플랫폼 지원으로 인해 자원 제약 속에서 모든 EOL 버전에 대한 종합적인 취약점 평가가 불가능한 상황이었다. Node.js v16과 같이 EOL 이후 1년이 지났음에도 월 1,100만 다운로드를 기록하는 구버전들이 여전히 광범위하게 사용되고 있어, 보안 스캐너가 EOL 버전을 취약하지 않다고 표시할 때 조직에서 보안 상태를 잘못 인식할 위험이 있었다.
Technical Solution
- 기존 CVE 정책 변경: CVE-2025-23087, CVE-2025-23088, CVE-2025-23089 3개의 EOL 전용 CVE 거부 결정에 따라 이전 취약점별 CVE들을 EOL 릴리스 포함하도록 적용 범위 확대
- CVE 적용 범위 규칙 수립: 모든 새로운 CVE는 특정 정보로 CVE가 EOL 릴리스 라인에 적용되지 않음이 입증될 때까지 EOL 릴리스를 포함하도록 설정
- 리소스 제약 명시: Node.js는 자원 제약으로 인해 EOL 라인에 대한 CVE 평가를 계획하지 않으며, 제공되는 정보가 있을 경우에만 적용 가능성 업데이트
- 운영 프로세스 추적: nodejs/security-wg#1443에서 이 정책 변경 프로세스를 추적 관리
- 상용 지원 옵션 제공: EOL Node.js 버전 지속 사용이 필요한 조직에 OpenJS Ecosystem Sustainability Program을 통한 상용 지원 제공
Impact
Node.js v17 이전의 모든 버전(v0.x 포함)이 CVE-2025-23087에 포함되며, Node.js v19는 CVE-2025-23088에, Node.js v21은 CVE-2025-23089에 포함되어 EOL 버전 사용자에게 보안 위험을 직접 전달한다.
Key Takeaway
EOL 버전에 대한 자원 제약이 있을 때 선택적 평가보다는 포괄적 위험 신호 제공이 사용자의 보안 의사결정을 정확하게 하는 데 더 효과적이며, CVE 할당 정책을 통해 구버전의 지속적 보안 위험을 조직에 명확히 인식시킬 수 있다는 원칙을 보여준다.
실천 포인트
Node.js 또는 유사한 롱테일 버전 관리를 하는 오픈소스 프로젝트에서 자원이 제한된 상황에 직면했을 때, EOL 버전별 개별 평가를 시도하기보다 기존 CVE에 EOL 버전을 포함시키는 방식으로 정책을 변경하면 사용자가 보안 스캐너 결과를 올바르게 해석하고 업그레이드 필요성을 인식하도록 유도할 수 있다.