CVE-2026-50271:
Python 취약성 분석 및 완화
개요
CVE-2026-50271 is a Denial of Service vulnerability in the Datadog dd-trace-py tracing library caused by improper parsing of W3C baggage HTTP headers. The library fails to enforce item-count or byte-size limits during baggage header extraction, allowing a remote, unauthenticated attacker to trigger unbounded CPU and memory consumption. All versions of ddtrace (pip) prior to 4.8.2 are affected. The vulnerability was originally published on June 5, 2026, and added to the GitHub Advisory Database on July 15, 2026. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, DataDog Advisory).
기술적 세부 사항
The root cause is classified under CWE-400 (Uncontrolled Resource Consumption) and CWE-770 (Allocation of Resources Without Limits or Throttling). The existing limits DD_TRACE_BAGGAGE_MAX_ITEMS (default 64) and DD_TRACE_BAGGAGE_MAX_BYTES (default 8192) were only applied to baggage injection (outbound), not extraction (inbound parsing). An attacker exploits this by crafting an HTTP request with a baggage header containing an arbitrarily large number of comma-separated key-value pairs, or a single extremely large value; the tracer allocates a hash-map entry for each pair on every request without bound. Because baggage propagation is enabled by default in most affected tracer configurations, no authentication or special privileges are required to trigger the condition (GitHub Advisory, DataDog Advisory).
영향
Successful exploitation causes unbounded CPU and memory consumption on any HTTP service instrumented with an affected dd-trace-py version, resulting in service degradation or complete unavailability (Denial of Service). There is no impact on confidentiality or data integrity — the vulnerability is purely an availability issue. Because baggage propagation is enabled by default, any internet-facing Python service using an affected tracer version is exposed without additional configuration changes (GitHub Advisory).
착취 단계
- Reconnaissance: Identify internet-facing HTTP services instrumented with Datadog
dd-trace-pyversions prior to 4.8.2, using service fingerprinting or by observing Datadog-specific response headers/behaviors. - Craft malicious baggage header: Construct an HTTP request with an oversized
baggageheader — either containing thousands of comma-separatedkey=valuepairs (e.g.,baggage: k1=v1,k2=v2,...,kN=vNwith N far exceeding 64) or a single key-value pair with an extremely large value exceeding 8192 bytes. - Send repeated requests: Transmit the crafted requests to any HTTP endpoint of the target service. Each request causes the tracer to allocate hash-map entries for every baggage item without limit.
- Trigger resource exhaustion: Sustained sending of such requests causes unbounded CPU and memory consumption on the target server, leading to service degradation or crash (GitHub Advisory, DataDog Advisory).
타협의 징후
- Network: Incoming HTTP requests containing abnormally large
baggageheaders (exceeding 8 KB) or headers with an unusually high number of comma-separated key-value pairs (exceeding 64 items); repeated requests from the same source IP targeting any endpoint. - Logs: Web server or proxy access logs showing requests with oversized
baggageheader values; application logs showing memory allocation errors or out-of-memory exceptions in the Python process. - Process: Sudden spike in CPU and memory usage of the Python application process correlating with incoming HTTP traffic; process restarts or OOM-killer events in system logs (
/var/log/syslogordmesg) attributable to the instrumented service.
완화 및 해결 방법
Upgrade ddtrace to version 4.8.2 or later, which enforces item-count and byte-size limits on baggage header extraction as well as injection. If an immediate upgrade is not possible, disable baggage extraction by removing baggage from the DD_TRACE_PROPAGATION_STYLE environment variable (or DD_TRACE_PROPAGATION_STYLE_EXTRACT if set independently). Additionally, cap the maximum HTTP request header size at an upstream proxy or web server — for example, using Apache's LimitRequestFieldSize, Nginx's large_client_header_buffers, or Envoy's max_request_headers_kb directives (GitHub Advisory, DataDog Advisory).
커뮤니티 반응
The advisory references related upstream vulnerabilities in other OpenTelemetry tracing libraries — specifically opentelemetry-go (GHSA-mh2q-q3fh-2475) and opentelemetry-dotnet (GHSA-g94r-2vxg-569j) — indicating this is a broader pattern of missing extraction-side limits in W3C baggage implementations across the observability ecosystem (GitHub Advisory). No significant social media commentary or media coverage has been identified beyond the official advisory.
추가 자료
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 Python 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."