CVE-2026-116588: dd-trace-py: ReDoS in query-string obfuscation causes DoS

AWAITING NVD
Published October 26, 2026
CISO Take

Datadog's Python APM client (dd-trace-py, 1.5.0 up to 3.19.9 and 4.15.6) uses a default regex to obfuscate URL query strings that can backtrack catastrophically, so a single crafted request can pin a CPU core and stall the service. Because the processing runs synchronously in the request path and is enabled by default in the HTTP tracing integrations, any internet-facing Python service instrumented with dd-trace-py, including AI inference APIs and LLM gateways built on FastAPI, Flask or Django, can be knocked offline by an unauthenticated attacker. No EPSS score, public exploit, Nuclei template or KEV listing exists yet, and the blast radius (downstream dependents) is unknown, but ReDoS payloads are trivial to craft once the fix commits are public. Upgrade to 3.19.9 or 4.15.6 now; if you cannot, restrict query strings in span tags or customize the obfuscation regex, and alert on abnormal CPU and latency spikes on traced endpoints.

Sources:NVDGitHub AdvisoryATLAS

What is the risk?

High for availability only. The flaw is remotely reachable with no authentication or user interaction, and is on by default in affected HTTP integrations. There is no confidentiality or integrity impact. Exploit code is not public and there is no KEV or SSVC signal, but the fix commits reveal the vulnerable pattern, making weaponization easy. Exposure is highest for internet-facing, single-threaded or low-concurrency Python workers, such as model-serving endpoints, where one stuck request blocks others. No CVSS or EPSS score is available.

How does the attack unfold?

Initial Access
Attacker sends HTTP requests with crafted long query strings to an internet-facing Python service traced by dd-trace-py.
AML.T0049
Exploitation
The default query-string obfuscation regex backtracks catastrophically while synchronously processing the span metadata.
AML.T0029
Impact
Worker CPU is saturated, latency rises and the AI/ML API becomes unavailable to legitimate users.
AML.T0029

How severe is it?

CVSS 3.1
N/A
EPSS
0.5%
chance of exploitation in 30 days
Higher than 41% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What should I do?

1 step
  1. 1) Upgrade ddtrace to 3.19.9 (3.x line) or 4.15.6 (4.x line). 2) Inventory services with ddtrace installed (pip list, SBOM, container scans) and prioritize internet-facing ones. 3) Workaround if patching is delayed: disable inclusion of query strings in URL span tags or override the default query-string obfuscation regex with a safe pattern, and apply WAF or gateway limits on query string length. 4) Detection: alert on sustained 100% CPU in worker processes, spikes in p99 latency, and requests with unusually long or repetitive query strings in access logs. 5) Use worker timeouts and health-check based restarts to limit blast radius.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

ISO 42001
A.10.3-Suppliers
NIST AI RMF
MANAGE 2.3-Response to unknown risks and system failures
OWASP LLM Top 10
LLM10-Unbounded Consumption

Frequently Asked Questions

What is CVE-2026-116588?

Datadog's Python APM client (dd-trace-py, 1.5.0 up to 3.19.9 and 4.15.6) uses a default regex to obfuscate URL query strings that can backtrack catastrophically, so a single crafted request can pin a CPU core and stall the service. Because the processing runs synchronously in the request path and is enabled by default in the HTTP tracing integrations, any internet-facing Python service instrumented with dd-trace-py, including AI inference APIs and LLM gateways built on FastAPI, Flask or Django, can be knocked offline by an unauthenticated attacker. No EPSS score, public exploit, Nuclei template or KEV listing exists yet, and the blast radius (downstream dependents) is unknown, but ReDoS payloads are trivial to craft once the fix commits are public. Upgrade to 3.19.9 or 4.15.6 now; if you cannot, restrict query strings in span tags or customize the obfuscation regex, and alert on abnormal CPU and latency spikes on traced endpoints.

Is CVE-2026-116588 actively exploited?

No confirmed active exploitation of CVE-2026-116588 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-116588?

1) Upgrade ddtrace to 3.19.9 (3.x line) or 4.15.6 (4.x line). 2) Inventory services with ddtrace installed (pip list, SBOM, container scans) and prioritize internet-facing ones. 3) Workaround if patching is delayed: disable inclusion of query strings in URL span tags or override the default query-string obfuscation regex with a safe pattern, and apply WAF or gateway limits on query string length. 4) Detection: alert on sustained 100% CPU in worker processes, spikes in p99 latency, and requests with unusually long or repetitive query strings in access logs. 5) Use worker timeouts and health-check based restarts to limit blast radius.

What systems are affected by CVE-2026-116588?

This vulnerability affects the following AI/ML architecture patterns: Model serving, LLM API gateways, RAG pipelines, Agent frameworks, MLOps services.

What is the CVSS score for CVE-2026-116588?

No CVSS score has been assigned yet.

What is the AI security impact?

Affected AI Architectures

Model servingLLM API gatewaysRAG pipelinesAgent frameworksMLOps services

MITRE ATLAS Techniques

AML.T0029Denial of AI Service
AML.T0049Exploit Public-Facing Application

Compliance Controls Affected

ISO 42001: A.10.3
NIST AI RMF: MANAGE 2.3
OWASP LLM Top 10: LLM10

What are the technical details?

Original Advisory

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.

Exploitation Scenario

An attacker finds a public LLM inference or RAG API written in Python and traced with Datadog APM. They send a handful of concurrent GET requests with very long, specially crafted query strings that trigger catastrophic backtracking in the obfuscation regex. Each request ties up a worker's CPU synchronously, exhausting the worker pool, so legitimate inference and retrieval requests time out and the service becomes unavailable. Repeating the requests keeps the service down at negligible attacker cost.

Weaknesses (CWE)

CWE-1333 — Inefficient Regular Expression Complexity: The product uses a regular expression with a worst-case computational complexity that is inefficient and possibly exponential.

  • [Architecture and Design] Use regular expressions that do not support backtracking, e.g. by removing nested quantifiers.
  • [System Configuration] Set backtracking limits in the configuration of the regular expression implementation, such as PHP's pcre.backtrack_limit. Also consider limits on execution time for the process.

Source: MITRE CWE corpus.

Timeline

Published
October 26, 2026
Last Modified
October 27, 2026
First Seen
October 26, 2026

Related Vulnerabilities