Unauthorized MQ Broker Control via SSE Mode in AWS Labs' Amazon MQ Broker MCP Server
Author: Evan Harris
Risk: Low
Affected Component: AWS Labs’ Amazon MQ Broker MCP Server
TL;DR
A vulnerability in AWS Labs’ Amazon MQ Broker MCP Server could have unauthenticated attackers on the same network to delete and create Amazon MQ brokers when the MCP Server is run in SSE mode. We reported the vulnerability to AWS. They fixed the issue by removing SSE entirely. No credentials were exposed, but the flaw violated least privilege principles and could cause operational disruption. Users should upgrade to the latest version immediately.
Background
AWS Labs’ Amazon MQ Broker MCP Server enables AI assistants to manage Amazon MQ brokers through simple commands for creating, deleting, and configuring the messaging infrastructure that powers distributed applications.
We discovered a network exposure vulnerability in the Amazon MQ MCP Server’s SSE mode that allows attackers on the same network to hijack broker management operations.
An attacker could delete critical message brokers, create unauthorized resources, and disrupt messaging infrastructure - all without needing any AWS credentials.
In this blog post, we break down how the vulnerability works, and demonstrate a real-world attack scenario that shows how easily an internal network compromise can escalate to AWS infrastructure disruption.
Overview
flowchart TD
A[Developer runs MCP Server
with --sse flag] --> B[Server binds to
0.0.0.0:8888
No authentication required]
B --> C[Attacker gains network
access
• Open firewall rule
• Exposed port
• Local compromise]
C --> D[Attacker discovers SSE
endpoint
Port scan or service
discovery]
D --> E[Connect using MCP
Inspector
target-ip:8888/sse]
E --> F[Enumerate available tools
list_brokers, delete_broker,
etc.]
F --> G[List existing MQ brokers
Identify managed brokers
with mcp_server_version tag]
G --> H{Server launched with
--allow-resource-creation?}
H -->|Yes| I[Full Control:
• Delete brokers
• Create new brokers
• Resource sprawl
• Quota exhaustion]
H -->|No| J[Limited Control:
• Delete existing brokers
• Denial of service
• Operational disruption]
I --> K[Impact: Unauthorized
infrastructure management
without AWS credentials]
J --> K
style A fill:#e3f2fd
style B fill:#fff3e0
style C fill:#ffebee
style D fill:#ffebee
style E fill:#ffebee
style F fill:#ffebee
style G fill:#ffebee
style H fill:#fff9c4
style I fill:#ffcdd2
style J fill:#ffcdd2
style K fill:#c8e6c9
Attack Scenario
-
A developer or operator runs the MQ MCP Server with:
uv run server.py --sseBy default, the MQ MCP Server binds to 0.0.0.0, opening up the server to network based attacks.
-
An attacker gains access to the network where this server is running (e.g., via an open firewall rule, exposed port, or local compromise).
-
The attacker connects to the default SSE port (typically 8888) using a client such as MCP Inspector.
-
Once connected, the attacker is able to:
4.1 Enumerates MQ brokers using the
list_brokerstool4.2 Identifies brokers tagged with
mcp_server_version, which marks them as managed by an MCP Server4.3 Performs mutative operations like
delete_broker -
If the MCP server was launched with the additional flag
--allow-resource-creation, then the attacker could also create new MQ brokers, potentially leading to resource sprawl or quota exhaustion.
Proof of Concept
A basic attack was demonstrated using:
- A victim MCP Server with
--sseenabled - A simulated attacker within the same network
- The MCP Inspector client to connect and issue commands
The attacker was able to:
- List brokers
- Delete any broker with the appropriate management tag
- (If configured) Create new brokers in the victim’s AWS account
No AWS credentials were exposed or required at any point in the attack.
Impact
- Denial of service through broker removal
- Unauthorized deletion of Amazon MQ brokers
- Unauthorized resource creation if
--allow-resource-creationis enabled - Violation of least privilege, despite users operating within expected boundaries
AWS Labs Response
After we disclosed the issue on May 22, 2025, AWS Labs quickly confirmed the vulnerability and took decisive action. Rather than implementing authentication for SSE mode, AWS Labs chose to remove the SSE functionality entirely from the MCP Server.
The fix, released in pull request #417, completely eliminates the SSE transport mode that created the unauthenticated network exposure. As of the May 27, 2025 release, the exploit demonstrated here is no longer possible.
We appreciate AWS Labs’ rapid response and their security-first approach of removing risky functionality rather than attempting to patch it.
Recommendations
For End Users
- Upgrade to the latest version of the AWS MQ MCP Server
- Do not expose MCP servers to public or untrusted networks
- Audit internal network services for accidental exposure of privileged tooling
- Avoid passing
--allow-resource-creationunless explicitly required for your use case
Timeline
| Date | Event |
|---|---|
| May 21, 2025 | Vulnerability discovered |
| May 22, 2025 | Vulnerability reported to AWS Labs |
| May 27, 2025 | AWS Labs releases fix (PR #417) removing SSE support |
| January 8, 2026 | Amazon CNA marked issue as out of scope due to non-default configuration |
| January 9, 2026 | Publication date agreed upon |
| January 15, 2026 | Public disclosure |
Stay Ahead of AI Security Threats
Get exclusive insights on AI agent vulnerabilities, MCP security research, and critical advisories delivered to your inbox.
No spam. Unsubscribe anytime.