Grafana MCP Server vystavuje neautentizované rozhraní SSE umožňující vzdálenou manipulaci s dashboardy
Autor: Evan Harris
Riziko: Nízké
Dotčená komponenta: Grafana MCP Server
Úvod
V rámci našeho průběžného bezpečnostního výzkumu serverů Model Context Protocol (MCP) jsme v Grafana MCP Serveru identifikovali bezpečnostní nedostatek, který prostřednictvím neautentizovaného vystavení v síti umožňuje neoprávněný přístup k instancím Grafany.
Přehled
Grafana MCP Server po spuštění s příznakem -t sse vystavuje neautentizované rozhraní Server-Sent Events (SSE), které se ve výchozím nastavení váže na 0.0.0.0:8000, pokud je spuštěn pomocí příkazu Docker uvedeného v souboru README serveru MCP. Tato konfigurace umožňuje vzdáleným útočníkům s přístupem k síti komunikovat s instancemi Grafany obětí bez autentizace.
Technické podrobnosti
Problém
Při konfiguraci s transportem SSE přes Docker server:
- Váže se na
0.0.0.0:8000, čímž je přístupný z libovolného hostitele v síti - Neposkytuje žádný autentizační mechanismus pro koncový bod
/sse - Důvěřuje libovolnému připojenému klientovi při provádění privilegovaných operací Grafany
- Používá
GRAFANA_API_KEYoběti k provádění akcí jejím jménem
Zranitelná konfigurace
Podle souboru README projektu s doplněním transportu SSE:
docker run --rm -p 8000:8000 \
-e GRAFANA_URL \
-e GRAFANA_API_KEY \
mcp/grafana -debug -t sse
Tím se koncový bod na adrese http://victim_ip:8000/sse vystaví celé síti.
Scénář útoku
Nastavení oběti
Uživatel postupující podle dokumentace:
- Stáhne obraz Dockeru pro Grafana MCP Server
- Nakonfiguruje proměnné prostředí
GRAFANA_URLaGRAFANA_API_KEYpro svou instanci Grafany - Povolí transport SSE přidáním
-t ssek příkazu Docker - Nevědomky vystaví
http://their_ip:8000/sseútočníkům na úrovni sítě
Zneužití útočníkem
Útočník s přístupem k síti může:
- Objevit vystavený koncový bod na adrese
http://victim_ip:8000/sse - Připojit se pomocí MCP Inspectoru:
npx @modelcontextprotocol/inspector sse --port 8000 - Provádět neoprávněné operace pomocí dostupných nástrojů Grafany
- Manipulovat s dashboardy jejich vypisováním, vytvářením, aktualizací nebo mazáním
Proof of Concept
Ukázka útoku
Pomocí MCP Inspectoru se útočník může připojit k vystavenému koncovému bodu SSE a provádět operace Grafany:
- Vypsat týmy pro pochopení struktury organizace
- Vypsat dashboardy pro identifikaci citlivých dat business intelligence
- Vytvářet dashboardy pro vložení škodlivého obsahu
- Aktualizovat dashboardy pro úpravu stávajících vizualizací
- Přistupovat ke zdrojům dat a dalším privilegovaným funkcím Grafany
Posouzení dopadu
Tento vektor útoku umožňuje:
Narušení důvěrnosti
- Odhalení zdrojů dat, čímž se vystaví backendové systémy a konfigurace
- Výčet dashboardů, čímž se odhalí citlivá data business intelligence
- Únik informací o uživatelích a týmech prostřednictvím rozhraní MCP
Narušení integrity
- Vložení škodlivého obsahu, které může uvést uživatele v omyl
- Neoprávněná úprava konfigurace, která ovlivňuje přesnost vizualizací
- Manipulace s dashboardy prostřednictvím vytváření, úprav nebo mazání
Dopad na dostupnost
- Přerušení služby mazáním nebo poškozením dashboardů
- Potenciální odepření služby (denial of service) přetížením systému
- Vyčerpání zdrojů prostřednictvím nadměrných požadavků na nástroje
Rizikové faktory
- Požadavek na přístup k síti: útočníci potřebují přístup k síti oběti na úrovni sítě
- Žádná autentizace: libovolný klient se může připojit a provádět privilegované operace
- Výchozí vazba Dockeru: vystavení na
0.0.0.0zvětšuje útočnou plochu - Tichý provoz: útoky mohou probíhat bez vědomí uživatele
Doporučená opatření
Pro uživatele
- Nepoužívejte
-t sseve sdílených nebo nedůvěryhodných sítích - Zaveďte omezení na úrovni sítě pomocí firewallů nebo VPN
- Použijte vazbu na localhost úpravou mapování portů Dockeru na
127.0.0.1:8000:8000 - Sledujte protokoly Grafany kvůli neočekávané aktivitě API
Časová osa zveřejnění
- 2024-05-22: Zranitelnost objevena a nahlášena Grafaně prostřednictvím Intigriti VDP
- 2024-05-23: Grafana potvrzuje přijetí hlášení
- 2024-05-23: Tým Grafany označil hlášení jako “Informative”
- 2024-05-23: Grafana uděluje povolení ke zveřejnění zjištění
- 2025-09-02: Veřejné zveřejnění a publikace bezpečnostního upozornění
Závěr
Neautentizované rozhraní SSE v Grafana MCP Serveru dokládá, jak důležité jsou bezpečné výchozí nastavení u vývojářských nástrojů, které propojují AI agenty s podnikovými systémy.
Přestože požadavek na přístup k síti omezuje útočnou plochu, organizace nasazující servery MCP by měly zavádět strategie hloubkové obrany (defense-in-depth) a zůstat si vědomy rizik vystavení v síti, zejména ve sdílených prostředích.