🇰🇷 한글 설명
dd-trace는 Node.js용 Datadog APM 클라이언트입니다. 2.0.0부터 5.131.1 및 6.20.1 이전 버전의 기본 DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP 정규식은 공격자가 조작한 URL 쿼리 문자열에 대해 과도한 백트래킹을 일으킬 수 있습니다. 이 정규식은 HTTP URL 메타데이터 기록 중 동기적으로 적용되어, 조작된 요청 하나로 CPU를 과도하게 소모하고 요청 처리를 지연시켜 애플리케이션을 중단시킬 수 있습니다. 5.131.1 및 6.20.1 버전에서 수정되었습니다.
💡 쉬운 설명
Datadog 모니터링 라이브러리가 웹 주소의 특정 부분을 처리할 때 비효율적인 검사를 수행하는 문제입니다. 공격자가 특수하게 만든 요청을 보내면 서버 CPU가 과도하게 사용되어 서비스가 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
dd-trace is the Datadog APM client for Node.js. From 2.0.0 until 5.131.1 and 6.20.1, the default DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP can perform excessive backtracking on attacker-controlled URL query strings. The expression is applied synchronously while recording HTTP URL metadata, allowing a crafted request to consume excessive CPU, stall request processing, and make the instrumented application unavailable. This issue is fixed in versions 5.131.1 and 6.20.1.
📍 영향받는 시스템
Node.js 환경에서 dd-trace 2.0.0~5.131.1 미만 및 6.0.0~6.20.1 미만 버전을 사용하는 애플리케이션
⚔️ 공격 벡터
공격자가 조작된 긴 URL 쿼리 문자열을 포함한 HTTP 요청을 반복 전송하여 정규식 처리를 과부하시키는 서비스 거부(DoS) 공격
🛡️ 대응 방법
dd-trace를 5.131.1 이상 또는 6.20.1 이상으로 업데이트하고 필요시 DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP를 안전한 패턴으로 재설정
🔧 검증 코드
출력된 버전이 5.131.1 이상(5.x 계열) 또는 6.20.1 이상(6.x 계열)이면 수정된 버전이며, 그보다 낮으면 취약한 버전이므로 업데이트가 필요합니다.
npm ls dd-trace 2>/dev/null | grep dd-trace