🇰🇷 한글 설명
Datadog .NET Tracer 3.43.0 미만 버전에서 W3C baggage 전파를 구현할 때 입력된 baggage HTTP 헤더의 크기나 항목 수를 제한하지 않는 취약점이 발견되었습니다. 공격자가 매우 많은 수의 키-값 쌍이나 거대한 값을 포함한 헤더를 전송하면 서비스의 CPU와 메모리 자원을 무제한으로 소모하게 만들 수 있습니다.
💡 쉬운 설명
해커가 특수하게 조작된 데이터를 담은 요청을 보내면, 프로그램이 이를 처리하다가 과부하가 걸려 멈춰버릴 수 있는 문제입니다. 이로 인해 서비스가 느려지거나 완전히 중단될 수 있습니다.
🇺🇸 원문 (English)
Datadog .NET Tracer is a client library for Datadog APM for .NET applications. Prior to 3.43.0, Datadog tracing libraries that implement W3C baggage propagation parse incoming baggage HTTP headers without enforcing DD_TRACE_BAGGAGE_MAX_ITEMS or DD_TRACE_BAGGAGE_MAX_BYTES on extraction, allowing a remote unauthenticated attacker to send a baggage header with many comma-separated key-value pairs or one very large value and cause unbounded CPU and memory consumption in services with baggage propagation enabled. This issue is fixed in version 3.43.0.
📍 영향받는 시스템
Datadog .NET Tracer 3.43.0 미만 버전 (W3C baggage propagation 활성화 시)
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 조작된 W3C baggage HTTP 헤더를 포함한 요청을 전송
🛡️ 대응 방법
Datadog .NET Tracer를 3.43.0 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 Datadog.Trace의 버전이 3.43.0 미만인지 확인
dotnet list package | grep Datadog.Trace