Description
Dynatrace MCP Server is an MCP server for Dynatrace Observability. Prior to 2.0.0, the create_workflow_for_notification tool inserts the caller-controlled teamName, problemType, and channel values into a Dynatrace workflow without neutralizing Jinja2 expressions. A caller can place template expressions such as event() in those values, and the workflow engine evaluates them when the persistent workflow runs. When the workflow has a valid Slack connector, the resulting Slack action can disclose event or tenant metadata to an attacker-selected channel; the shipped placeholder connection does not deliver messages by itself. The workflow remains in the tenant after the MCP session and credentials are gone. The isPrivate option defaults to false, making the created workflow tenant-visible unless the caller changes it. Exploitation requires either an MCP prompt-injection path or an operator approving a prompt that displays the template fragment literally. This issue is fixed in version 2.0.0.
Published: 2026-11-09
Score: 4.2 Medium
EPSS: n/a
KEV: No
Impact: Information Disclosure
Action: Patch ASAP
AI Analysis

Impact

The create_workflow_for_notification tool in Dynatrace MCP Server inserts the caller‑controlled values teamName, problemType and channel directly into a Jinja2 workflow template without neutralization. An attacker can embed Jinja2 expressions such as event() in these values and, when the persistent workflow executes, the workflow engine evaluates them. If the tenant contains a Slack connector, the resulting Slack action may publish event or tenant metadata to an arbitrary channel, thereby leaking sensitive information. The workflow remains in the tenant after the MCP session ends, and the isPrivate flag defaults to false, so the injected workflow is visible to all tenants unless changed by the operator.

Affected Systems

Dynatrace MCP Server (dynatrace‑oss:dynatrace‑mcp) before version 2.0.0 is affected. The issue was fixed in release 2.0.0, which removes the vulnerability of injecting unsanitized Jinja2 expressions into workflows.

Risk and Exploitability

The CVSS v3 score of 4.2 indicates medium risk, and the EPSS score is not available. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to use the create_workflow_for_notification interface – either by manipulating a prompt injection path or by having an operator approve a prompt that contains the injected template fragment. The attack vector is therefore limited to trusted or compromised users with access to the MCP interface, making the risk less likely to be realized from an external actor but still significant for an internal threat or misconfigured system.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Dynatrace MCP 2.0.0 or a newer release that neutralizes Jinja2 expressions in workflows.
  • Restrict the use of create_workflow_for_notification to trusted operators and set the isPrivate flag to true by default to prevent tenant‑wide visibility.
  • Disable or closely monitor Slack connectors in tenant workflows and review any Slack actions that publish event or tenant metadata to avoid unintended disclosures.
  • Audit existing workflows for injected Jinja2 templates and remove or sanitize any malicious ones.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-xrmj-5g4g-8987 @dynatrace-oss/dynatrace-mcp-server has a workflow template injection via create_workflow_for_notification
History

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

Type Values Removed Values Added
Description Dynatrace MCP Server is an MCP server for Dynatrace Observability. Prior to 2.0.0, the create_workflow_for_notification tool inserts the caller-controlled teamName, problemType, and channel values into a Dynatrace workflow without neutralizing Jinja2 expressions. A caller can place template expressions such as event() in those values, and the workflow engine evaluates them when the persistent workflow runs. When the workflow has a valid Slack connector, the resulting Slack action can disclose event or tenant metadata to an attacker-selected channel; the shipped placeholder connection does not deliver messages by itself. The workflow remains in the tenant after the MCP session and credentials are gone. The isPrivate option defaults to false, making the created workflow tenant-visible unless the caller changes it. Exploitation requires either an MCP prompt-injection path or an operator approving a prompt that displays the template fragment literally. This issue is fixed in version 2.0.0.
Title Dynatrace MCP Server: Workflow template injection via create_workflow_for_notification
Weaknesses CWE-1336
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-09T20:53:14.455Z

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

Link: CVE-2026-123809

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-123809

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-1336

    Improper Neutralization of Special Elements Used in a Template Engine