Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify app running dd-trace-php < 1.19.2
-
DeliveryCraft oversized W3C baggage header
-
ExploitSend to any traced endpoint
-
ExecutionUnbounded hash-map allocation in parser
-
PersistCPU/memory exhaustion
-
ImpactWorker/host denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that baggage propagation extraction be active, which the advisory states is enabled by DEFAULT in most affected deployments unless |
| Impact | This is a legitimately exploitable but availability-only issue. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) is internally consistent with the description: a remote unauthenticated client sends a crafted W3C |
| Exploit ScenarioDerived | An attacker sends HTTP requests to any application instrumented with dd-trace-php < 1.19.2, each carrying a W3C |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Unbounded CPU and memory consumption in the Datadog PHP Tracer (dd-trace-php) before 1.19.2 allows remote, unauthenticated attackers to exhaust resources on any instrumented PHP worker that parses W3C baggage headers. The tracer's baggage deserializer fails to enforce DD_TRACE_BAGGAGE_MAX_ITEMS and DD_TRACE_BAGGAGE_MAX_BYTES, so a request carrying an arbitrarily long list of comma-separated key-value pairs, or a single oversized value, forces unbounded hash-map allocation and parsing work on every request; because baggage extraction is enabled by default in most deployments, exposure is broad and pre-authentication, though the impact is limited to availability with no confidentiality or integrity effect. No public exploit code has been identified at time of analysis, and the vendor has released a fix in 1.19.2 (with 1.20.0 also containing the change).
RemediationAI
Vendor-released patch: 1.19.2 - upgrade dd-trace-php to 1.19.2 or later (the 1.20.0 release also carries the change) per the GitHub Security Advisory GHSA-phwx-ww2p-cv9v and the upgrade steps at https://github.com/DataDog/dd-trace-php/releases/tag/1.19.2; the underlying fix is in PR #3854 (commits 2f7987eb02e306bb62bce8ec4152dece68112f51 and 43072ccafe55a5dbdfba75a42bf316b4150ae1e5). If an immediate upgrade is not possible, disable baggage extraction by removing baggage from DD_TRACE_PROPAGATION_STYLE and DD_TRACE_PROPAGATION_STYLE_EXTRACT (or setting the propagation style to tracecontext/datadog only) - the trade-off is that W3C baggage will no longer propagate to or from instrumented services, which can break downstream features that rely on baggage-carried context, and this must be applied consistently across the deployment to avoid inconsistent trace metadata. Until patched, front-end proxies or WAFs can also be configured to cap the length of the baggage request header (for example rejecting headers above a few kilobytes or more than a small number of comma-separated entries), which limits the resource blow-up at the network edge at the cost of potentially rejecting legitimate large baggage payloads and requiring per-route tuning; upstream telemetry counters added by the patch (context_header.truncated) are only available after upgrading, so pre-patch monitoring should rely on per-worker CPU/memory and request-duration anomalies.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerable component is the Datadog dd-trace-php extension, a C-language Zend extension (zend_extension) that instruments PHP applications for APM and distributed tracing and runs inside the PHP worker process. Per request, ddtrace_read_distributed_tracing_ids in ext/distributed_tracing_headers.c invokes ddtrace_deserialize_baggage, which parses the incoming W3C baggage HTTP header into a hash map of key-value pairs. The defect is CWE-770 (Allocation of Resources Without Limits or Throttling): the parser reads attacker-controlled comma-separated pairs and values without ever comparing the accumulated item count against DD_TRACE_BAGGAGE_MAX_ITEMS or the accumulated byte count against DD_TRACE_BAGGAGE_MAX_BYTES, so both hash entries and CPU work grow linearly with header size. The upstream fix (PR #3854, commits 2f7987eb and 43072cca) adds item_count and total_bytes accumulators, breaks out of parsing when either configured maximum is exceeded, records the truncation via new module globals (baggage_extract_max_item_count, baggage_extract_max_byte_count) and telemetry points (context_header.truncated), and additionally bounds related propagation paths (tracestate unknown _dd.* keys capped at 100 entries and propagated tag size capped at 512 bytes), indicating the maintainers treated unconstrained header-driven data structures as a broader class of problem. The affected product range is captured by CPE cpe:2.3:a:datadog:dd-trace-php:*:*:*:*:*:*:*:* and ENISA EUVD-2026-82416 lists 'dd-trace-php < 1.19.2'.
Know when Datadog gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Remote unauthenticated HTTP header triggers the flaw with baggage extraction on by default, so AV:N/AC:L/PR:N/UI:N; impact is pure resource-exhaustion DoS, hence C:N/I:N/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
Source: GHSA-phwx-ww2p-cv9v.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Datadog's PHP tracing library (dd-trace-php) before version 1.19.2 can be driven into unbounded CPU and memory consumption by ordinary HTTP requests carrying oversized or extremely long tracing baggage headers, which can exhaust or crash the PHP workers that run instrumented applications. Because baggage parsing is enabled by default in most deployments, exposure extends across essentially every internet-facing PHP service running the affected library, making this a service-availability and continuity issue rather than one involving data exposure. Leadership should care because a single malformed request stream can cause customer-facing outages and capacity-driven cost increases, and remediation requires coordinated library upgrades across all instrumented applications.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Metric and tag injection in the Perl DataDog::DogStatsd client (versions through 0.07) allows attackers who control even
Metric injection in the Perl DataDog::DogStatsd client (versions through 0.07) allows remote attackers to forge or manip
Denial of service in Datadog's dd-trace-cpp distributed tracing library prior to 2.1.0: the W3C baggage extraction path
A missing permission check in Jenkins Datadog Plugin 5.4.1 and earlier allows attackers with Overall/Read permission to
The Datadog Plugin stores an API key to access the Datadog service in the global Jenkins configuration. Rated low severi
EUVD-2026-82416
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB