
عميل إثبات مفهوم ومختبر Docker لإعادة إنتاج CVE-2026-15583، وهو ثغرة SSRF من نوع confused-deputy غير مصادَق عليها في Grafana MCP Server تسرّب رموز حسابات الخدمة عبر X-Grafana-URL.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · CVE-2026-15583
Grafana MCP Server 0.17.0 - Grafana Labs
أنا @abraxas_null. مختبر loopback. العميل هو CVE-2026-15583-Abraxas-Labs.py.
Confused deputy. يستقبل MCP HTTP غير الموثّق X-Grafana-URL من الطلب ورمز حساب الخدمة من البيئة، ثم ينفّذ GET {url}/api/frontend/settings مع Authorization: Bearer. القيمة الفارغة لـ X-Grafana-Service-Account-Token تعود إلى متغيّر البيئة. تم إصلاحه في 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 | غير موثّق |
| 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 مع جامع loopback.
ضوابط الفشل موجودة مسبقًا في المختبر: eval/base64/system ليس الشاهد؛ reverse shell ليس الشاهد؛ يجب ألا يرسل 0.17.1 رمز البيئة إلى الجامع.
المنفذ 18099. mcp-grafana 0.17.0. SSE أو streamable-http قابل للوصول. رمز البيئة مضبوط. الجامع على شبكة compose.
الهدف فقط 127.0.0.1:18099 (أو الـ loopback الذي ربطته).
python3 CVE-2026-15583-Abraxas-Labs.py
أو
cd lab
./run.sh
الشاهد: رأس Authorization الخاص بالمجمع يحتوي على GHSA15583-WITNESS.
طرق الفشل دون تعلّم أي شيء:
حدّث Grafana MCP Server إلى 0.17.1 أو أحدث. أعد تشغيل CVE-2026-15583-Abraxas-Labs.py مقابل البناء المُرقّع: يجب ألا يرى المجمع رمز البيئة.
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
GNU Affero GPL v3.0. راجع LICENSE.
يتواصل العميل مع loopback. استخدامه ضد أنظمة لا تملكها غير مُصرّح به من Abraxas Labs. لا ضمان.