Neovlašteno upravljanje MQ brokerom putem SSE načina u AWS Labs Amazon MQ Broker MCP Serveru
Autor: Evan Harris
Rizik: Nizak
Zahvaćena komponenta: AWS Labs Amazon MQ Broker MCP Server
Ukratko
Ranjivost u AWS Labs Amazon MQ Broker MCP Serveru mogla je omogućiti neautentificiranim napadačima na istoj mreži brisanje i stvaranje Amazon MQ brokera kada se MCP Server pokreće u SSE načinu. Ranjivost smo prijavili AWS-u. Oni su problem riješili potpunim uklanjanjem SSE-a. Nikakvi vjerodajni podaci nisu bili izloženi, no propust je narušavao načela najmanjih privilegija i mogao je uzrokovati operativne poremećaje. Korisnici bi trebali odmah nadograditi na najnoviju verziju.
Pozadina
AWS Labs Amazon MQ Broker MCP Server omogućuje AI asistentima upravljanje Amazon MQ brokerima kroz jednostavne naredbe za stvaranje, brisanje i konfiguriranje infrastrukture za razmjenu poruka koja pokreće distribuirane aplikacije.
Otkrili smo ranjivost mrežne izloženosti u SSE načinu Amazon MQ MCP Servera koja napadačima na istoj mreži omogućuje otimanje operacija upravljanja brokerima.
Napadač je mogao izbrisati ključne brokere poruka, stvoriti neovlaštene resurse i poremetiti infrastrukturu za razmjenu poruka, i to sve bez ikakvih AWS vjerodajnih podataka.
U ovom blog članku razlažemo kako ranjivost funkcionira i demonstriramo stvarni scenarij napada koji pokazuje kako se lako kompromitacija interne mreže može eskalirati u poremećaj AWS infrastrukture.
Pregled
%%{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
Scenarij napada
-
Razvojni inženjer ili operater pokreće MQ MCP Server s:
uv run server.py --ssePrema zadanim postavkama, MQ MCP Server se veže na 0.0.0.0, otvarajući poslužitelj mrežnim napadima.
-
Napadač dobiva pristup mreži na kojoj se ovaj poslužitelj pokreće (npr. putem otvorenog pravila vatrozida, izloženog porta ili lokalne kompromitacije).
-
Napadač se povezuje na zadani SSE port (obično 8888) koristeći klijent poput MCP Inspectora.
-
Nakon povezivanja, napadač je u mogućnosti:
4.1 Nabrojati MQ brokere pomoću alata
list_brokers4.2 Identificirati brokere označene s
mcp_server_version, što ih obilježava kao kojima upravlja MCP Server4.3 Izvršiti mutativne operacije poput
delete_broker -
Ako je MCP poslužitelj pokrenut s dodatnom zastavicom
--allow-resource-creation, tada bi napadač također mogao stvarati nove MQ brokere, što potencijalno vodi do nekontroliranog širenja resursa ili iscrpljivanja kvote.
Dokaz koncepta
Osnovni napad demonstriran je koristeći:
- Žrtvin MCP Server s omogućenim
--sse - Simuliranog napadača unutar iste mreže
- MCP Inspector klijent za povezivanje i izdavanje naredbi
Napadač je bio u mogućnosti:
- Izlistati brokere
- Izbrisati bilo kojeg brokera s odgovarajućom oznakom upravljanja
- (Ako je konfigurirano) Stvoriti nove brokere u žrtvinom AWS računu
Nikakvi AWS vjerodajni podaci nisu bili izloženi niti potrebni ni u jednom trenutku napada.
Utjecaj
- Uskraćivanje usluge kroz uklanjanje brokera
- Neovlašteno brisanje Amazon MQ brokera
- Neovlašteno stvaranje resursa ako je omogućeno
--allow-resource-creation - Narušavanje najmanjih privilegija, unatoč tome što korisnici djeluju unutar očekivanih granica
Odgovor AWS Labsa
Nakon što smo problem prijavili 22. svibnja 2025., AWS Labs je brzo potvrdio ranjivost i poduzeo odlučne mjere. Umjesto implementacije autentifikacije za SSE način, AWS Labs je odlučio potpuno ukloniti SSE funkcionalnost iz MCP Servera.
Ispravak, objavljen u pull requestu #417, potpuno uklanja SSE transportni način koji je stvorio neautentificiranu mrežnu izloženost. Od izdanja 27. svibnja 2025., ovdje demonstrirani eksploit više nije moguć.
Cijenimo brz odgovor AWS Labsa i njihov pristup usmjeren na sigurnost, koji uklanja rizičnu funkcionalnost umjesto pokušaja njezina zakrpavanja.
Preporuke
Za krajnje korisnike
- Nadogradite na najnoviju verziju AWS MQ MCP Servera
- Nemojte izlagati MCP poslužitelje javnim ili nepouzdanim mrežama
- Provjerite interne mrežne servise radi slučajne izloženosti privilegiranih alata
- Izbjegavajte prosljeđivanje
--allow-resource-creationosim ako to nije izričito potrebno za vaš slučaj upotrebe
Vremenski slijed
| Datum | Događaj |
|---|---|
| 21. svibnja 2025. | Ranjivost otkrivena |
| 22. svibnja 2025. | Ranjivost prijavljena AWS Labsu |
| 27. svibnja 2025. | AWS Labs objavljuje ispravak (PR #417) koji uklanja SSE podršku |
| 8. siječnja 2026. | Amazon CNA označio problem izvan opsega zbog nezadane konfiguracije |
| 9. siječnja 2026. | Dogovoren datum objave |
| 15. siječnja 2026. | Javna objava |