CVE-2026-57112: PraisonAI: DNS rebinding exposes MCP SSE tool calls
HIGHPoC AVAILABLECISA: ATTENDPraisonAI's legacy SSE MCP server (ToolsMCPServer.run_sse) mounts /sse and /messages/ with no authentication or Host/Origin validation, so a malicious web page can use DNS rebinding to reach a local or internal instance and enumerate and invoke every registered tool with the server user's privileges. Exploitation is hard and needs a user to visit an attacker page (CVSS 8.3, AC:H/UI:R), EPSS is low at 0.00224 (top 88th percentile), and there is no KEV listing or public exploit, but CISA SSVC rates it ATTEND. The risk is concentrated on developer workstations and internal hosts running PraisonAI MCP servers whose tools can touch files, shells, or credentials. Upgrade praisonaiagents to 1.6.59+ and PraisonAI to 4.6.59+, and note that the vendor describes this as an initial remediation, so keep tracking the advisory GHSA-vmf9-xx9w-86wx. Until patched, switch to the Streamable HTTP transport, which rejects hostile Origins, or stop exposing the SSE endpoint.
What is the risk?
Medium-to-high. Impact is high (confidentiality, integrity and availability, with scope change because tool execution runs with the server user's privileges), but exploitation needs DNS rebinding, a reachable local or internal SSE server, and a user visiting a hostile page. EPSS 0.00224 and no public exploit or Nuclei template suggest low near-term mass exploitation. SSVC ATTEND and the 'initial remediation' wording mean the fix may be incomplete. Exposure is greatest for developer machines and internal agent hosts, and there is no package-level dependent data (Unknown).
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| PraisonAI | pip | — | No patch |
| PraisonAI Agents | pip | — | No patch |
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade praisonaiagents to 1.6.59 or later and PraisonAI to 4.6.59 or later, and monitor the GHSA for follow-up fixes since the remediation is described as initial. 2) Move to the Streamable HTTP transport, which enforces Origin checks. 3) Bind MCP servers to loopback or a protected interface, place them behind a reverse proxy that enforces an allowed-Host list, Origin validation, and authentication (token or mTLS). 4) Restrict the tools registered on the server to least privilege and run the process under a low-privilege, sandboxed account. 5) Detection: log and alert on requests to /sse and /messages/ with unexpected Host or Origin headers (non-localhost names resolving to private IPs), unexpected tool listing or invocation, and DNS responses for external domains that resolve to RFC1918 or loopback addresses (enable DNS rebinding protection on resolvers).
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-57112?
PraisonAI's legacy SSE MCP server (ToolsMCPServer.run_sse) mounts /sse and /messages/ with no authentication or Host/Origin validation, so a malicious web page can use DNS rebinding to reach a local or internal instance and enumerate and invoke every registered tool with the server user's privileges. Exploitation is hard and needs a user to visit an attacker page (CVSS 8.3, AC:H/UI:R), EPSS is low at 0.00224 (top 88th percentile), and there is no KEV listing or public exploit, but CISA SSVC rates it ATTEND. The risk is concentrated on developer workstations and internal hosts running PraisonAI MCP servers whose tools can touch files, shells, or credentials. Upgrade praisonaiagents to 1.6.59+ and PraisonAI to 4.6.59+, and note that the vendor describes this as an initial remediation, so keep tracking the advisory GHSA-vmf9-xx9w-86wx. Until patched, switch to the Streamable HTTP transport, which rejects hostile Origins, or stop exposing the SSE endpoint.
Is CVE-2026-57112 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-57112, increasing the risk of exploitation.
How to fix CVE-2026-57112?
1) Upgrade praisonaiagents to 1.6.59 or later and PraisonAI to 4.6.59 or later, and monitor the GHSA for follow-up fixes since the remediation is described as initial. 2) Move to the Streamable HTTP transport, which enforces Origin checks. 3) Bind MCP servers to loopback or a protected interface, place them behind a reverse proxy that enforces an allowed-Host list, Origin validation, and authentication (token or mTLS). 4) Restrict the tools registered on the server to least privilege and run the process under a low-privilege, sandboxed account. 5) Detection: log and alert on requests to /sse and /messages/ with unexpected Host or Origin headers (non-localhost names resolving to private IPs), unexpected tool listing or invocation, and DNS responses for external domains that resolve to RFC1918 or loopback addresses (enable DNS rebinding protection on resolvers).
What systems are affected by CVE-2026-57112?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, MCP servers, multi-agent systems, developer workstations running local agents.
What is the CVSS score for CVE-2026-57112?
CVE-2026-57112 has a CVSS v3.1 base score of 8.3 (HIGH). The EPSS exploitation probability is 0.22%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationAML.T0053AI Agent Tool InvocationAML.T0078Drive-by CompromiseAML.T0084.001Tool DefinitionsCompliance Controls Affected
What are the technical details?
Original Advisory
PraisonAI is a multi-agent teams system. From praisonaiagents 0.6.0 until 1.6.59 and PraisonAI 3.10.0 until 4.6.59, ToolsMCPServer.run_sse() in src/praisonai-agents/praisonaiagents/mcp/mcp_server.py mounts SseServerTransport on the legacy /sse and /messages/ endpoints without default Host, Origin, or authentication enforcement. A malicious website can use DNS rebinding against a reachable local or internal SSE server, supply attacker-controlled Host and Origin headers, enumerate registered tools, and invoke them with the server user's privileges. The Streamable HTTP transport rejects the same hostile Origin, which isolates the flaw to the legacy SSE wrapper. An initial remediation was released in praisonaiagents 1.6.59 and PraisonAI 4.6.59.
Exploitation Scenario
A developer runs a PraisonAI agent exposing tools via run_sse() on localhost or an internal host. An attacker lures them to a web page, for example through a phishing link. The page's domain first resolves to the attacker's server, then rebinds to 127.0.0.1 or the internal IP, so the browser treats requests to the SSE server as same-origin. Because the server performs no Host, Origin or authentication checks, the attacker's JavaScript opens /sse, enumerates the registered tools, and posts tool calls to /messages/, for example reading files, running commands, or pulling API keys the agent can access, and exfiltrates the results to the attacker.
Weaknesses (CWE)
CWE-306Missing Authentication for Critical FunctionalityPrimaryCWE-346Origin Validation ErrorPrimaryCWE-862Missing AuthorizationPrimaryCWE-306Missing Authentication for Critical FunctionalityCWE-346Origin Validation ErrorCWE-862Missing AuthorizationCWE-306 — Missing Authentication for Critical Functionality: The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.
- [Architecture and Design] Divide the software into anonymous, normal, privileged, and administrative areas. Identify which of these areas require a proven user identity, and use a centralized authentication capability. Identify all potential communication channels, or other means of interaction with the software, to ensure that all channels are appropriately protected, including those channels that are assumed to be accessible only by authorized parties. Developers sometimes perform authentication at the primary channel, but open up a secondary channel that is assumed to be private. For example, a login mechanism may be listening on one network port, but after successful authentication, it may open up a second port where it waits for the connection, but avoids authentication because it assumes that only the authenticated party will connect to the port. In general, if the software or protocol allows a single session or user state to persist across multiple connections or channels, authentication and appropriate
- [Architecture and Design] For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:HReferences
Timeline
Related Vulnerabilities
CVE-2026-3493810.0praisonaiagents: sandbox bypass enables full host RCE
Same package: praisonaiagentsCVE-2026-3988810.0praisonaiagents: sandbox escape enables host RCE
Same package: praisonaiagentsCVE-2026-6144710.0PraisonAI: RCE via unsandboxed LLM code execution
Same package: praisonaiagentsCVE-2026-473929.9praisonaiagents: RCE via Python sandbox bypass
Same package: praisonaiagentsGHSA-vc46-vw85-3wvm9.8PraisonAI: RCE via malicious workflow YAML execution
Same package: praisonaiagents