CVE-2026-123811: Dynatrace MCP Server Allowed Unauthenticated Tool Calls in HTTP Mode

Dynatrace MCP Server versions before 2.0.0 accepted unauthenticated JSON-RPC tool calls when started with the –http flag, allowing network attackers to read Grail logs, security events, and user sessions or create notebooks under the server's credentials.

Christopher Ort
By Christopher Ort · 3 min read
Share
A network cable plugged into a server rack in a dimly lit data center, with warning lights glowing amber on the equipment panels.
On this page
  1. Quick Take
  2. In plain English
  3. What happened
  4. What you should do
  5. What it means
  6. Sources

Dynatrace MCP Server versions before 2.0.0 accepted unauthenticated JSON-RPC tool calls when started with the --http flag, allowing network attackers to read Grail logs, security events, and user sessions or create notebooks under the server’s credentials. The flaw carried a CVSS score of 7.5 and was fixed in version 2.0.0 released on June 16, 2026.

i10X Quick Take

Quick Take

  1. What: Dynatrace MCP Server in HTTP mode performed no authentication, session validation, or origin checks before dispatching MCP tool calls.
  2. Who is affected: Operators running versions before 2.0.0 with the --http flag, especially those binding to 0.0.0.0 or exposing the server on a network.
  3. Impact: Network attackers could invoke execute_dql to read arbitrary Grail data (logs, security events, user sessions) or create_dynatrace_notebook to write notebooks to the tenant.
  4. Fixed version: 2.0.0
  5. What to do: Upgrade to version 2.0.0 or later and set the MCP_BEARER_TOKEN environment variable when running in HTTP mode.

In plain English

Dynatrace MCP Server is a tool that lets AI assistants query Dynatrace observability data. When you ran it with the --http flag, it started a web server that accepted commands from anyone on the network without checking a password. An attacker could send a command to read your logs, security events, or user session data, or create notebooks in your Dynatrace account. Version 2.0.0 fixes this by requiring a bearer token and checking the Host header. If you use this tool, upgrade to 2.0.0 and set a strong token in the MCP_BEARER_TOKEN environment variable. If you do not use Dynatrace MCP Server, you can ignore this issue.

What happened

The Dynatrace MCP Server is an open-source Model Context Protocol server that connects AI assistants to Dynatrace observability data. When started with the --http flag, the server created an HTTP endpoint that accepted JSON-RPC tools/call requests without any authentication, session validation, or Host or Origin header checks.

Any network-reachable attacker could send a raw JSON-RPC request to invoke MCP tools directly under the victim server’s Dynatrace credentials. Two high-impact tools were confirmed reachable without authentication:

  • execute_dql: Allowed an attacker to run arbitrary DQL queries and read logs, security events, user sessions, and metrics from the Dynatrace Grail data lake.
  • create_dynatrace_notebook: Allowed an attacker to create notebooks visible in the victim’s Dynatrace tenant.

The advisory notes that the send_event tool was not exploitable via this vector because it included a requestHumanApproval gate that blocked unauthenticated HTTP callers.

The vulnerability was assigned CVE-2026-123811 and received a CVSS score of 7.5. The advisory was published on June 9, 2026, and the fix was released in version 2.0.0 on June 16, 2026.

What you should do

Upgrade to version 2.0.0 or later:

2.0.0 · Bash
npx -y @dynatrace-oss/dynatrace-mcp-server@2.0.0

When running in HTTP mode, set a strong bearer token:

Bash
export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http

Configure your MCP client to send the token in the Authorization header:

JSON
{
  "mcpServers": {
    "dynatrace-http": {
      "url": "http://localhost:3000",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer your-token"
      }
    }
  }
}

Version 2.0.0 also changes the default host binding from 0.0.0.0 to 127.0.0.1. If you need to expose the server on all interfaces (for example, in a container), you must now pass --host 0.0.0.0 explicitly.

What it means

This vulnerability demonstrates the risks of exposing MCP servers over HTTP without authentication. The Dynatrace MCP Server was designed primarily for local stdio transport, where the AI assistant and the server run on the same machine. The HTTP mode was added for remote access but initially lacked the authentication and origin checks necessary for network exposure.

The fix introduces three layers of defense:

1. Bearer token authentication: Version 2.0.0 enforces a bearer token check using constant-time comparison to resist timing attacks. If MCP_BEARER_TOKEN is not set, the server prints a warning but still starts (authentication is enforced only when the token is set).

2. Host binding default: The default host binding changed from 0.0.0.0 to 127.0.0.1, preventing accidental exposure on all network interfaces.

3. DNS rebinding protection: The server now restricts accepted Host headers to the configured server address and localhost aliases, blocking cross-origin POST requests from malicious web pages on the same network.

The advisory also includes a proof-of-concept Docker setup and curl command demonstrating unauthenticated tool invocation. Operators who ran the server with --http and --host 0.0.0.0 on a shared network or in a container with exposed ports were at highest risk.

Sources

Christopher Ort

Christopher Ort

Christopher Ort handles SEO, AI agent workflows and PR & partnerships at i10x.ai, the all-in-one AI workspace built by i10X Global Pte. Ltd. in Singapore. He is a graduate of Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU). He is the author of “The Style Penalty”, a study published on SSRN that analyses 1,576 evaluation decisions by four frontier AI models to show how AI-written CVs fare in automated hiring screens; the research has been covered by heise online and t3n.

Editor's picks

  1. AI Investment Rotates to Infrastructure and Adopters
  2. Google Launches Gemini App for Apple CarPlay
  3. Nvidia Loses $913 Billion in Five-Day Market Correction
  4. CVE-2026-123811: Dynatrace MCP Server Allowed Unauthenticated Tool Calls in HTTP Mode
  5. CVE-2026-121576: Privilege Escalation Flaw in MCP Server for WordPress Plugin Allows Low-Privilege Users to Gain Admin Access