Skip to main content

Datadog dd-trace-py CVE-2026-116588

| EUVDEUVD-2026-110469 HIGH
Inefficient Regular Expression Complexity (ReDoS) (CWE-1333)
2026-10-26 GitHub_M GHSA-3633-r77q-h3v3
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send crafted query-string in HTTP request
  2. Delivery
    Reaches default URL span-tag obfuscation
  3. Exploit
    Regex catastrophic backtracking consumes CPU
  4. Execution
    Request latency and CPU exhaustion
  5. Impact
    Service unavailability (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity 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

Exploitation requires that the application use an affected dd-trace-py HTTP tracing integration that records query strings in URL span tags, with the default query-string obfuscation regular expression in effect - the vendor states this vulnerable processing is enabled by default for those integrations, so no non-default configuration is needed to be at risk. The attacker must be able to supply the URL query string of inbound HTTP requests (attacker-controlled input), which is the normal case for internet-facing endpoints. Limiting factors: only impacts deployments running vulnerable versions (>=1.5.0,<3.19.9 or >=4.0.0,<4.15.6) with HTTP integrations that tag query strings; impact is availability only (no data exposure); and the issue can be neutralized without upgrading by setting both DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP and DD_TRACE_OBFUSCATION_QUERY_STRING_PATTERN to the vendor-provided fixed regex and restarting the application, though the vendor's complete fix is upgrading to 3.19.9 or 4.15.6.

Impact

This is a genuine availability-focused issue but not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a remote, unauthenticated, low-complexity attack with no authentication or user interaction, and impact is confined to availability (VA:H; VC:N/VI:N) - consistent with a ReDoS (CWE-1333) that burns CPU rather than exposing or altering data. The signals are internally consistent but modest: EPSS is low at 0.47% (40th percentile), there is no CISA KEV listing, and no public exploit code has been published - the GHSA advisory explicitly withholds triggering inputs and reproduction steps. The vuln.today decision label is 'this_week', aligning with a patch-promptly posture rather than act_now/emergency. The CVSS base score of 8.7 looks high, but that is driven by the easy remote reachability of a pure DoS; there is no confidentiality or integrity exposure. Net: treat as a real, patch-this-week priority for anyone running affected dd-trace-py versions with default query-string obfuscation, but not a confirmed-exploited or data-breach-class risk. The low EPSS combined with a withheld PoC suggests exploitation is plausible but not yet widespread or automated.

Exploit ScenarioDerived

An attacker sends HTTP requests to a web application instrumented with an affected dd-trace-py HTTP integration, placing a crafted query string that triggers catastrophic backtracking in the default obfuscation regular expression. Because the pattern is applied synchronously while recording the URL span tag, a few such requests tie up application CPU, inflating request latency and eventually causing service unavailability. No public, verified exploit code exists - the advisory omits the triggering inputs - but the attack requires no authentication and no user interaction.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Regular expression denial of service in the Datadog dd-trace-py Python APM client allows unauthenticated remote attackers to exhaust CPU and stall request handling by sending crafted URL query strings. The flaw affects versions 1.5.0 through 3.19.9 and 4.0.0 through 4.15.6, and the vulnerable obfuscation processing is enabled by default for HTTP tracing integrations that record query strings in URL span tags, so no special configuration is required to be at risk. Assessment is availability-only (CVSS 3.1 AV:N/AC:L/PR:N/UI:N/A:H, vendor CVSS 4.0 score 8.7); there is no CISA KEV listing and no public exploit identified at time of analysis, and EPSS sits at 0.47% (40th percentile).

RemediationAI

Upgrade dd-trace-py to 3.19.9 (for 3.x deployments) or 4.15.6 (for 4.x deployments), the versions in which the vendor fixed the obfuscation regex and offset handling; the vendor's complete fix is the upgrade. If upgrading cannot be done immediately, the vendor's documented workaround is to set both DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP and DD_TRACE_OBFUSCATION_QUERY_STRING_PATTERN to the fixed Python-compatible regex published in GHSA-3633-r77q-h3v3 and then restart the application; setting both variables is required because it covers all affected ddtrace versions, including releases before 1.19.0. The trade-off of the workaround is that it replaces the vendor default pattern with a manually maintained expression that must stay in sync with future releases, and it needs a full application restart to take effect, whereas the patched versions also add delimiter-preserving redaction and linear offset conversion. Because exploitation only requires sending crafted query strings to an instrumented HTTP endpoint, prioritize upgrades on internet-facing services; the vendor advisory notes that detailed triggering inputs and reproduction steps are omitted and that the patched version includes regression coverage for the affected behavior.

Affected VersionsENISA

dd-trace-py 1.5.0, < 3.19.9
dd-trace-py 4.0.0, < 4.15.6

Affected Packages

pypi ddtrace fix: 3.19.9, 4.15.6
euvd dd_trace_py fix: 3.19.9, 4.15.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-1333, inefficient regular expression complexity, in the default query-string obfuscation pattern that dd-trace-py applies to redact secrets from URLs before they are stored as HTTP span tags. That pattern is a large alternation covering password-like parameters, API/private/public keys, tokens, consumer IDs, signatures, bearer credentials, GitHub tokens, JWTs, PEM private key blocks and SSH/ECDSA keys, with several nested or overlapping quantifier constructs; against certain attacker-controlled query strings it can backtrack excessively, and because obfuscation runs synchronously while HTTP URL metadata is recorded, the regex engine can occupy the application's CPU and delay request processing. The upstream fix (PRs 20857, 20862 and follow-ups, commits 63ddc3cb, 83ea3984, a6d73607) removes the verbose 'x' flag from the pattern, rewrites the JWT 'ey[I-L]' branch to anchor on a preceding delimiter, adds a delimiter-preserving substitution mode, and precomputes a byte-to-character offset table so match-offset conversion is linear for non-ASCII query strings. The affected component set is cpe:2.3:a:datadog:dd-trace-py, i.e. the pip package 'ddtrace' used to instrument Python web frameworks; the specific triggering inputs are not described in the available sources, which state only that regression coverage for the affected behavior ships in the patched release.

Know when Python 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

Vendor (GitHub_M) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Attacker-controlled query strings are processed remotely with no auth or interaction by a default-enabled path (AV:N/AC:L/PR:N/UI:N); ReDoS impacts only availability (A:H, C/I:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 26, 2026 - 22:03 EUVD
CVE Published
Oct 26, 2026 - 21:22 cve.org
HIGH 8.7

DescriptionCVE.org

Datadog dd-trace-py is the Datadog Python APM client. From 1.5.0 until 3.19.9 and 4.15.6, the default query-string obfuscation regular expression can exhibit excessive backtracking while synchronously processing attacker-controlled URL query strings for HTTP span metadata. A remote attacker can cause prolonged CPU consumption, request latency, and service unavailability in affected HTTP tracing integrations that include query strings in URL span tags. The vulnerable processing is enabled by default for those integrations. This issue is fixed in versions 3.19.9 and 4.15.6.

Executive ViewAI

Why It Matters

CVE-2026-116588 is a high-severity denial-of-service flaw in Datadog's dd-trace-py library, affecting versions 1.5.0 through 3.19.9 and 4.0.0 through 4.15.6. Any service using this default configuration could be stalled by crafted requests, disrupting availability for customers and internal operations. Leadership should prioritize remediation because the vulnerability is remotely triggerable without authentication and affects production applications that rely on this APM client.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Medium
Datadog's official Python APM client, common in Datadog-instrumented Python services
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy