CVE-2026-116589 in dd-trace-pyinfo

Summary

by MITRE • 10/27/2026

Datadog dd-trace-py is the Datadog Python APM client. From 3.13.0 until 4.15.5, the IAST string-processing instrumentation does not properly handle certain internal errors while old-style % string formatting processes attacker-controlled input. An unhandled error can terminate the Python process and interrupt the work it is handling. Exploitation requires IAST to be enabled, which is not the default, and application code to apply the affected formatting operation to attacker-controlled input. This issue is fixed in version 4.15.5.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/27/2026

The vulnerability identified within Datadog dd-trace-py versions ranging from 3.13.0 through 4.15.5 represents a significant reliability risk for applications utilizing the Python APM client with Instrumentation-based Application Security Testing enabled. This specific flaw resides in the IAST string-processing instrumentation module, which is designed to monitor and analyze code paths for security weaknesses such as injection vulnerabilities. The core technical deficiency involves an improper handling of internal errors that arise during the processing of strings formatted using legacy percent-style formatting operators when those inputs are derived from untrusted or attacker-controlled sources. In a typical execution flow, the instrumentation layer intercepts string operations to inspect them for malicious patterns; however, under specific conditions involving old-style formatting with external input, an exception is raised within this monitoring logic that fails to be caught and handled gracefully by the tracer itself.

This lack of robust error handling leads directly to an unhandled exception propagating up through the Python runtime environment. Because the instrumentation code executes synchronously during request processing or background task execution, a failure in this layer does not remain isolated but instead crashes the entire Python process. This results in a Denial of Service condition where the application becomes unavailable until it is restarted by external orchestration tools or monitoring systems. The operational impact is severe for production environments relying on continuous availability, as even a single request containing specifically crafted input can terminate the worker process, causing service interruption and potential data loss if transactions are not properly persisted before termination.

Exploitation of this vulnerability requires two specific conditions to be met simultaneously: first, the target application must have Datadog IAST enabled, which is explicitly noted as being disabled by default in most configurations; second, the application code must perform an old-style percent formatting operation on data that can be influenced or controlled by an external attacker. This constraint limits the attack surface significantly compared to vulnerabilities affecting core network stacks but remains critical for organizations actively deploying IAST features without adequate safeguards against instrumentation-induced crashes. The vulnerability aligns with CWE-754, which describes improper check for unusual or exceptional conditions, as well as CWE-248, concerning unhandled exception in security-critical code. From an ATT&CK perspective, this behavior facilitates the Disruption of Availability tactic by causing a crash through resource exhaustion via process termination rather than traditional memory corruption techniques.

To mitigate this risk, organizations running affected versions must upgrade to version 4.15.5 or later where the internal error handling logic has been corrected to prevent unhandled exceptions from terminating the host process. For environments unable to immediately patch due to dependency constraints, it is advisable to disable IAST instrumentation for string processing modules if not strictly required for security scanning purposes, thereby removing the attack vector entirely. Additionally, implementing robust application-level exception handlers and utilizing modern f-string or format method alternatives instead of legacy percent formatting can reduce the likelihood of triggering these specific internal errors within the tracer. Continuous monitoring of APM agent logs should also be maintained to detect any unexpected process restarts that may indicate attempted exploitation in unpatched systems.

Responsible

GitHub M

Reservation

10/26/2026

Disclosure

10/27/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!