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

  1. Vývojář nebo provozovatel spustí MQ MCP Server pomocí:

    uv run server.py --sse

    Ve výchozím nastavení se MQ MCP Server naváže na 0.0.0.0, čímž server otevře útokům ze sítě.

  2. Ú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).

  3. Útočník se připojí k výchozímu SSE portu (obvykle 8888) pomocí klienta, jako je MCP Inspector.

  4. Po připojení je útočník schopen:

    4.1 Vyjmenovat MQ brokery pomocí nástroje list_brokers

    4.2 Identifikovat brokery označené tagem mcp_server_version, který je označuje jako spravované MCP Serverem

    4.3 Provádět mutační operace, jako je delete_broker

  5. 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í