
CVE-2026-15583 का पुनरुत्पादन करने वाला प्रूफ-ऑफ-कॉन्सेप्ट क्लाइंट और Docker लैब, जो Grafana MCP Server में एक अनऑथेंटिकेटेड confused-deputy SSRF है जो X-Grafana-URL के माध्यम से service-account टोकन लीक करता है।
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · CVE-2026-15583
Grafana MCP Server 0.17.0 - Grafana Labs
मैं @abraxas_null हूँ। लूपबैक लैब। क्लाइंट CVE-2026-15583-Abraxas-Labs.py है।
कन्फ्यूज़्ड डेप्युटी। अनऑथेंटिकेटेड MCP HTTP अनुरोध से X-Grafana-URL और एनवायरनमेंट से सर्विस-अकाउंट टोकन लेता है, फिर Authorization: Bearer के साथ {url}/api/frontend/settings पर GET करता है। खाली X-Grafana-Service-Account-Token होने पर env पर वापस चला जाता है। 0.17.1 में इसे इस प्रकार ठीक किया गया कि कॉन्फ़िगर किया गया टोकन अनपेक्षित गंतव्यों पर न भेजा जाए।
| CVE | CVE-2026-15583 · CVE.org |
| CWE | CWE-918 |
| CVSS | High: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| Product | Grafana MCP Server |
| Affected | 0.17.0 तक (समावेशी) के सभी संस्करण |
| Patched | 0.17.1 और बाद के संस्करण |
| Auth | unauthenticated |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 |
POST /mcp या GET /sse करें जिसमें X-Grafana-URL आपके नियंत्रण वाले कलेक्टर की ओर इंगित हो। सर्वर आपको GRAFANA_SERVICE_ACCOUNT_TOKEN (या GRAFANA_API_KEY) भेज देता है। यह क्रेडेंशियलयुक्त SSRF के साथ-साथ टोकन चोरी है। लैब ओरेकल कलेक्टर Authorization हेडर में विटनेस टोकन है।
मैंने extractKeyGrafanaInfoFromReq / ExtractGrafanaInfoFromHeaders, फिर NewGrafanaClient fetchPublicURL, फिर AuthRoundTripper को मैप किया। लूपबैक कलेक्टर के साथ mcp-grafana 0.17.0 खड़ा किया।
लैब में पहले से मौजूद फेल-कंट्रोल: eval/base64/system विटनेस नहीं है; रिवर्स शेल विटनेस नहीं है; 0.17.1 को env टोकन कलेक्टर को नहीं भेजना चाहिए।
पोर्ट 18099। mcp-grafana 0.17.0। SSE या streamable-http उपलब्ध। Env टोकन सेट। कलेक्टर compose नेटवर्क पर।
लक्ष्य केवल 127.0.0.1:18099 (या आपके द्वारा बाइंड किया गया लूपबैक)।
cd lab
docker compose up --force-recreate
python3 ../CVE-2026-15583-Abraxas-Labs.py
विटनेस: कलेक्टर Authorization हेडर में GHSA15583-WITNESS होता है।
बिना कुछ सीखे असफल होने के तरीके:
Grafana MCP Server को 0.17.1 या नए संस्करण में अपडेट करें। पैच किए गए बिल्ड के विरुद्ध CVE-2026-15583-Abraxas-Labs.py को फिर से चलाएँ: कलेक्टर को env टोकन नहीं दिखना चाहिए।
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
GNU Affero GPL v3.0। देखें LICENSE।
क्लाइंट लूपबैक से बात करता है। जिन सिस्टम्स के आप मालिक नहीं हैं, उनके विरुद्ध इसका उपयोग Abraxas Labs द्वारा अधिकृत नहीं है। कोई वारंटी नहीं।