Neoprávněné ovládání MQ brokerů přes režim SSE v Amazon MQ Broker MCP Serveru od AWS Labs
Autor: Evan Harris
Riziko: Nízké
Dotčená komponenta: Amazon MQ Broker MCP Server od AWS Labs
TL;DR
Zranitelnost v Amazon MQ Broker MCP Serveru od AWS Labs mohla umožnit neautentizovaným útočníkům ve stejné síti mazat a vytvářet brokery Amazon MQ, když je MCP Server provozován v režimu SSE. Zranitelnost jsme nahlásili společnosti AWS. Ta problém opravila tím, že SSE zcela odstranila. Nebyly vystaveny žádné přihlašovací údaje, ale chyba porušovala princip nejnižších oprávnění a mohla způsobit provozní výpadky. Uživatelé by měli neprodleně aktualizovat na nejnovější verzi.
Kontext
Amazon MQ Broker MCP Server od AWS Labs umožňuje asistentům s umělou inteligencí spravovat brokery Amazon MQ pomocí jednoduchých příkazů pro vytváření, mazání a konfiguraci messagingové infrastruktury, která pohání distribuované aplikace.
Objevili jsme zranitelnost spočívající v síťovém vystavení v režimu SSE Amazon MQ MCP Serveru, která útočníkům ve stejné síti umožňuje převzít kontrolu nad operacemi správy brokerů.
Útočník mohl smazat kritické message brokery, vytvořit neoprávněné prostředky a narušit messagingovou infrastrukturu, a to vše bez potřeby jakýchkoli přihlašovacích údajů AWS.
V tomto příspěvku na blogu rozebíráme, jak zranitelnost funguje, a předvádíme reálný scénář útoku, který ukazuje, jak snadno může kompromitace vnitřní sítě eskalovat do narušení infrastruktury AWS.
Přehled
%%{init: {'themeVariables': {'fontSize': '18px'}}}%%
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
Scénář útoku
-
Vývojář nebo provozovatel spustí MQ MCP Server pomocí:
uv run server.py --sseVe výchozím nastavení se MQ MCP Server naváže na 0.0.0.0, čímž server otevře útokům ze sítě.
-
Útočník získá přístup k síti, ve které tento server běží (např. přes otevřené pravidlo firewallu, vystavený port nebo lokální kompromitaci).
-
Útočník se připojí k výchozímu SSE portu (obvykle 8888) pomocí klienta, jako je MCP Inspector.
-
Po připojení je útočník schopen:
4.1 Vyjmenovat MQ brokery pomocí nástroje
list_brokers4.2 Identifikovat brokery označené tagem
mcp_server_version, který je označuje jako spravované MCP Serverem4.3 Provádět mutační operace, jako je
delete_broker -
Pokud byl MCP Server spuštěn s dodatečným přepínačem
--allow-resource-creation, mohl útočník také vytvářet nové MQ brokery, což potenciálně vede k nekontrolovanému bujení prostředků nebo vyčerpání kvót.
Proof of Concept
Základní útok byl předveden pomocí:
- MCP Serveru oběti s povoleným
--sse - Simulovaného útočníka ve stejné síti
- Klienta MCP Inspector pro připojení a zadávání příkazů
Útočník byl schopen:
- Vypsat brokery
- Smazat libovolného brokera s odpovídajícím tagem správy
- (Pokud bylo nakonfigurováno) Vytvořit nové brokery v AWS účtu oběti
V žádném okamžiku útoku nebyly vystaveny ani vyžadovány přihlašovací údaje AWS.
Dopad
- Odepření služby odstraněním brokerů
- Neoprávněné smazání brokerů Amazon MQ
- Neoprávněné vytvoření prostředků, pokud je povoleno
--allow-resource-creation - Porušení principu nejnižších oprávnění, přestože uživatelé pracují v očekávaných mezích
Reakce AWS Labs
Poté, co jsme problém zveřejnili 22. května 2025, AWS Labs rychle potvrdila zranitelnost a rázně zasáhla. Namísto implementace autentizace pro režim SSE se AWS Labs rozhodla funkcionalitu SSE z MCP Serveru zcela odstranit.
Oprava vydaná v pull requestu #417 zcela odstraňuje přenosový režim SSE, který vytvářel neautentizované síťové vystavení. Od vydání z 27. května 2025 již zde předvedený exploit není možný.
Oceňujeme rychlou reakci AWS Labs a její přístup upřednostňující bezpečnost, tedy odstranění rizikové funkcionality namísto pokusů o její opravu záplatou.
Doporučení
Pro koncové uživatele
- Aktualizujte na nejnovější verzi AWS MQ MCP Serveru
- Nevystavujte MCP servery veřejným nebo nedůvěryhodným sítím
- Prověřte služby vnitřní sítě, zda nedochází k náhodnému vystavení privilegovaných nástrojů
- Vyhněte se předávání
--allow-resource-creation, pokud to váš případ použití výslovně nevyžaduje
Časová osa
| Datum | Událost |
|---|---|
| 21. května 2025 | Zranitelnost objevena |
| 22. května 2025 | Zranitelnost nahlášena AWS Labs |
| 27. května 2025 | AWS Labs vydává opravu (PR #417) odstraňující podporu SSE |
| 8. ledna 2026 | Amazon CNA označil problém za mimo rozsah kvůli nestandardní konfiguraci |
| 9. ledna 2026 | Dohodnuto datum zveřejnění |
| 15. ledna 2026 | Veřejné zveřejnění |