Description
Dynatrace MCP Server is an MCP server for Dynatrace Observability. Prior to 2.1.1, several read capabilities interpolate caller-controlled values into DQL without sufficient validation or escaping. The src/capabilities/find-monitored-entity-by-name.ts capability embeds entityNames in string searches, src/capabilities/list-problems.ts, src/capabilities/list-vulnerabilities.ts, and src/capabilities/list-exceptions.ts embed timeframe values, and src/capabilities/get-events-for-cluster.ts embeds timeframe, clusterId, and kubernetesEntityId. Crafted values can close string literals, append pipeline stages, or comment out the remaining intended query, allowing callers to bypass field selection, time-window, and result-display limits in tools marked readOnlyHint. The issue does not grant data access beyond the configured token's existing execute_dql capability, but it breaks the narrower auto-approved tool contract. This issue is fixed in version 2.1.1.
Published: 2026-11-09
Score: 4.3 Medium
EPSS: n/a
KEV: No
Impact: Injection of malicious DQL via non‑documented parameters allows bypass of query restrictions for tokens with execute_dql capability
Action: Patch
AI Analysis

Impact

Dynatrace MCP Server versions before 2.1.1 embed caller‑controlled values directly into DQL expressions without adequate escaping or validation. The use of these parameters in capabilities such as find‑monitored‑entity‑by‑name, list‑problems, list‑vulnerabilities, list‑exceptions, and get‑events‑for‑cluster permits an attacker to close string literals, append pipeline stages, or comment out the remainder of a query. This form of SQL‑like injection can circumvent field‑selection limits, time‑window restrictions, and result‑display caps on read‑only tools. The vulnerability does not grant access beyond the token’s existing execute_dql privilege, but it breaks the narrower auto‑approved tool contract and exposes more data than intended. The weakness corresponds to CWE‑89 – Improper Neutralization of Special Elements in an Expression Language Query.

Affected Systems

The affected product is the Dynatrace MCP Server as distributed by dynatrace‑oss under the dynatrace‑mcp package. All releases prior to v2.1.1 are vulnerable, including every build that has not applied the fix introduced in the 2.1.1 release. System administrators should verify the specific build installed and compare it to the fixed version.

Risk and Exploitability

The CVSS score of 4.3 indicates moderate severity; the EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector appears to be remote, via crafted API requests to the affected capability endpoints that accept user-supplied parameters. An attacker with network access to the MCP Server and knowledge of a token with execute_dql capability could construct a malicious payload that bypasses the intended query limits. The exploitation prerequisites are minimal, requiring only the ability to send HTTP requests to the service, and the attack is feasible with standard tools.

Generated by OpenCVE AI on November 9, 2026 at 22:37 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Dynatrace MCP Server to version 2.1.1 or later.
  • Review all read‑only tools that use the execute_dql capability to ensure they no longer rely on the vulnerable capability endpoints.
  • Restrict or rotate any tokens that grant execute_dql privilege until the upgrade is complete.

Generated by OpenCVE AI on November 9, 2026 at 22:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-pqh8-p93p-2rx7 @dynatrace-oss/dynatrace-mcp-server has a DQL injection via parameters not documented as DQL
History

Mon, 09 Nov 2026 21:15:00 +0000

Type Values Removed Values Added
Description Dynatrace MCP Server is an MCP server for Dynatrace Observability. Prior to 2.1.1, several read capabilities interpolate caller-controlled values into DQL without sufficient validation or escaping. The src/capabilities/find-monitored-entity-by-name.ts capability embeds entityNames in string searches, src/capabilities/list-problems.ts, src/capabilities/list-vulnerabilities.ts, and src/capabilities/list-exceptions.ts embed timeframe values, and src/capabilities/get-events-for-cluster.ts embeds timeframe, clusterId, and kubernetesEntityId. Crafted values can close string literals, append pipeline stages, or comment out the remaining intended query, allowing callers to bypass field selection, time-window, and result-display limits in tools marked readOnlyHint. The issue does not grant data access beyond the configured token's existing execute_dql capability, but it breaks the narrower auto-approved tool contract. This issue is fixed in version 2.1.1.
Title Dynatrace MCP Server: DQL injection via parameters not documented as DQL
Weaknesses CWE-89
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-09T20:59:50.956Z

Reserved: 2026-11-06T15:27:56.226Z

Link: CVE-2026-123810

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-09T22:18:37.133

Modified: 2026-11-09T22:18:37.133

Link: CVE-2026-123810

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-09T22:45:08Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')