🇰🇷 한글 설명
Node.js용 Datadog APM 클라이언트인 dd-trace의 5.100.0 미만 버전에서 W3C baggage 전파 처리 시 크기 제한을 강제하지 않는 취약점이 발견되었습니다. 공격자가 매우 큰 baggage HTTP 헤더를 전송할 경우 CPU와 메모리 자원을 무제한으로 소모하게 하여 원격 서비스 거부(DoS)를 유발할 수 있습니다.
💡 쉬운 설명
데이터를 주고받을 때 사용하는 특정 헤더에 너무 많은 정보를 담아 보내면, 서버가 이를 처리하다가 과부하가 걸려 멈춰버리는 문제입니다. 이를 통해 공격자는 웹 서비스를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
dd-trace is the Datadog APM client for Node.js. Prior to 5.100.0, W3C baggage propagation in packages/dd-trace/src/baggage.js and packages/dd-trace/src/opentracing/propagation/text_map.js parsed incoming baggage HTTP headers without enforcing DD_TRACE_BAGGAGE_MAX_ITEMS or DD_TRACE_BAGGAGE_MAX_BYTES on extraction. A remote, unauthenticated attacker can send a request whose baggage header contains an arbitrarily large number of comma-separated key-value pairs, or a single very large value, causing unbounded CPU and memory consumption and enabling a remote denial of service against any HTTP service with baggage propagation enabled. This issue is fixed in version 5.100.0.
📍 영향받는 시스템
dd-trace Node.js 클라이언트 5.100.0 미만 버전
⚔️ 공격 벡터
조작된 대용량 W3C baggage HTTP 헤더를 포함한 요청을 전송하여 자원 고갈 유도
🛡️ 대응 방법
dd-trace 라이브러리를 5.100.0 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 dd-trace의 버전이 5.100.0 미만인지 확인