Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Remote unauthenticated single-request attack, no user interaction, against default-on baggage parsing (AV:N/AC:L/PR:N/UI:N); impact is availability-only DoS (A:H, C:N/I:N).
Primary rating from Vendor (https://github.com/DataDog/dd-trace-go).
CVSS VectorVendor: https://github.com/DataDog/dd-trace-go
Lifecycle Timeline
3DescriptionCVE.org
Impact
Datadog tracing libraries that implement W3C baggage propagation parse incoming baggage HTTP headers without enforcing item-count or byte-size limits on the extract path. The DD_TRACE_BAGGAGE_MAX_ITEMS (default 64) and DD_TRACE_BAGGAGE_MAX_BYTES (default 8192) limits were applied only to baggage injection, not 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). The tracer allocates a hash-map entry for each pair on every request, causing unbounded CPU and memory consumption and enabling a remote Denial of Service against any HTTP service that has the baggage propagation style enabled. The baggage propagation style is enabled by default in most affected tracers, so any internet-facing service that has been instrumented with an affected tracer version is exposed unless the propagation style has been explicitly narrowed.
Patches
This is resolved in version 2.8.1 and later of the dd-trace-go library.
Workarounds
If users cannot upgrade immediately:
- Disable
baggageextraction by removingbaggagefromDD_TRACE_PROPAGATION_STYLE(orDD_TRACE_PROPAGATION_STYLE_EXTRACTif set independently). - Cap the maximum HTTP request header size at an upstream proxy or web server (for example, Apache
LimitRequestFieldSize, Nginxlarge_client_header_buffers, Envoymax_request_headers_kb).
Resources
Related upstream advisories: opentelemetry-go GHSA-mh2q-q3fh-2475 opentelemetry-dotnet GHSA-g94r-2vxg-569j
Articles & Coverage 2
AnalysisAI
Remote denial of service in Datadog's dd-trace-go APM library lets unauthenticated attackers exhaust CPU and memory on any instrumented HTTP service by sending an oversized W3C 'baggage' header. The DD_TRACE_BAGGAGE_MAX_ITEMS (64) and DD_TRACE_BAGGAGE_MAX_BYTES (8192) safety limits were enforced only on baggage injection, not extraction, so a single crafted request with a huge number of comma-separated key-value pairs forces one hash-map allocation per pair on every request. Because baggage propagation is enabled by default, any internet-facing Go service using an affected tracer is exposed; there is no public exploit identified at time of analysis, and the issue is not listed in CISA KEV.
Technical ContextAI
The flaw lives in the W3C Trace Context 'baggage' propagation implementation of Datadog's Go tracing library (CPEs pkg:go/github.com_datadog_dd-trace-go and its v2 module). Baggage is a standardized HTTP header carrying arbitrary comma-separated key=value pairs that tracers extract on inbound requests and re-inject on outbound calls to propagate context across services. The extract-path parser iterates the header and allocates a hash-map entry for each pair without applying the configured item-count or byte-size caps, which is the classic CWE-400 (Uncontrolled Resource Consumption) root cause: attacker-controlled input drives unbounded allocation. The same design defect affects other tracers in the OpenTelemetry ecosystem, as reflected in the related opentelemetry-go (GHSA-mh2q-q3fh-2475) and opentelemetry-dotnet (GHSA-g94r-2vxg-569j) advisories.
RemediationAI
Vendor-released patch: upgrade dd-trace-go to version 2.8.1 or later, which enforces the item-count and byte-size limits on the extract path. Note the advisory does not list a fixed release for the legacy v1 branch (vulnerable <= 1.24.1, fixed in None), so v1 users should migrate to the patched v2 module rather than expect a v1 backport. If immediate upgrade is not possible, disable baggage extraction by removing 'baggage' from DD_TRACE_PROPAGATION_STYLE (or DD_TRACE_PROPAGATION_STYLE_EXTRACT if set independently) - this stops the parsing entirely but loses cross-service baggage context. As a complementary control, cap maximum HTTP request header size at an upstream proxy or web server (Apache LimitRequestFieldSize, Nginx large_client_header_buffers, or Envoy max_request_headers_kb); the trade-off is that an overly tight limit can reject legitimate large headers such as big cookies or auth tokens, so tune it to your traffic. Details are in the vendor advisory at https://github.com/DataDog/dd-trace-go/security/advisories/GHSA-74j5-xf3v-crq8.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
The ngx_http_parse_chunked function in http/ngx_http_parse.c in nginx 1.3.9 through 1.4.0 allows remote attackers to cau
A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
nginx 0.8.41 through 1.4.3 and 1.5.x before 1.5.7 allows remote attackers to bypass intended restrictions via an unescap
An issue was discovered on GL.iNet devices before version 4.5.0. Rated critical severity (CVSS 9.8), this vulnerability
Nginx versions since 0.5.6 up to and including 1.13.2 are vulnerable to integer overflow vulnerability in nginx range fi
The resolver in nginx before 1.8.1 and 1.9.x before 1.9.10 allows remote attackers to cause a denial of service (invalid
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical severity (CVSS 9.8
The STARTTLS implementation in mail/ngx_mail_smtp_handler.c in the SMTP proxy in nginx 1.5.x and 1.6.x before 1.6.1 and
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: ImportantShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45328
GHSA-74j5-xf3v-crq8