🇰🇷 한글 설명
OpenTelemetry JS의 Prometheus 내보내기 도구(0.217.0 미만)에서 잘못된 URL을 포함한 HTTP 요청을 처리할 때 오류 처리가 부족하여 Node.js 프로세스가 강제 종료됩니다. 메트릭 엔드포인트(기본값 0.0.0.0:9464)가 외부에 노출되어 있다면 누구든 이 취약점을 악용하여 서비스를 중단시킬 수 있습니다.
💡 쉬운 설명
OpenTelemetry 메트릭 수집 도구가 특수한 요청에 대해 제대로 된 오류 처리를 하지 않아 프로그램이 갑자기 종료될 수 있습니다. 누구든 이 도구의 포트에 접근할 수 있다면 서비스를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
opentelemetry-js is the OpenTelemetry JavaScript Client. Prior to 0.217.0, a single malformed HTTP request crashes any Node.js process running the OpenTelemetry JS Prometheus exporter. The metrics endpoint (default 0.0.0.0:9464) has no error handling around URL parsing, so a request with an invalid URI causes an uncaught TypeError that terminates the process. This vulnerability is fixed in 0.217.0.
📍 영향받는 시스템
OpenTelemetry-js (@opentelemetry/sdk-node, @opentelemetry/exporter-metrics-prometheus) < 0.217.0
⚔️ 공격 벡터
메트릭 엔드포인트(기본 0.0.0.0:9464)로 malformed URI를 포함한 HTTP 요청 전송
🛡️ 대응 방법
opentelemetry-js를 0.217.0 이상으로 업그레이드 (npm update @opentelemetry/sdk-node @opentelemetry/exporter-metrics-prometheus)
🔧 검증 코드
출력된 버전이 0.217.0 이상이면 안전, 미만이면 즉시 업그레이드 필요
npm list 2>/dev/null | grep -E '@opentelemetry.*prometheus|@opentelemetry/sdk-node' | head -5