Description
The Datadog PHP Tracer provides application performance monitoring and distributed tracing for PHP. Prior to 1.19.2, ddtrace_deserialize_baggage in ext/distributed_tracing_headers.c parses incoming W3C baggage HTTP headers without enforcing DD_TRACE_BAGGAGE_MAX_ITEMS or DD_TRACE_BAGGAGE_MAX_BYTES. A remote unauthenticated client can send an arbitrarily large number of comma-separated key-value pairs or a single oversized value, causing the tracer to allocate hash-map entries and consume unbounded CPU and memory on each request. Baggage extraction is enabled by default in most affected deployments unless baggage is removed from DD_TRACE_PROPAGATION_STYLE or DD_TRACE_PROPAGATION_STYLE_EXTRACT. This issue is fixed in version 1.19.2.
References6
- github.com/DataDog/dd-trace-php/commit/2f7987eb02e306bb62bce8ec…
- github.com/DataDog/dd-trace-php/commit/43072ccafe55a5dbdfba75a4…
- github.com/DataDog/dd-trace-php/pull/3854
- github.com/DataDog/dd-trace-php/releases/tag/1.19.2
- github.com/DataDog/dd-trace-php/releases/tag/1.20.0
- github.com/DataDog/dd-trace-php/security/advisories/GHSA-phwx-w…
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 1% percentile: 53 · as of 8 November 2026
- CWE
- CWE-770
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.