
WordPress Core अप्रमाणित RCE (CVE-2026-63030, CVE-2026-60137)
__ ______ ____ ____ _ _ _____ _ _ \ \ / / _ \___ \/ ___|| | | | ____| | | | \ \ /\ / /| |_) |__) \___ \| |_| | _| | | | | \ V V / | __// __/ ___) | _ | |___| |___| |___ \_/\_/ |_| |_____|____/|_| |_|_____|_____|_____|wp2shell-checker | WordPress Batch API Desync Detector
WordPress Core REST Batch API pre-auth RCE के लिए चेकर/डिटेक्टर
0xjessie21 द्वारा निर्मित — साइबरसुरक्षा ILCS
| हस्ताक्षर | wp2shell / WP Core REST Batch API Desync |
| गंभीरता | 9.8 CRITICAL — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| प्रभावित संस्करण | WordPress 6.9.0-6.9.4 और 7.0.0-7.0.1 |
| समाधान संस्करण | 6.9.5, 7.0.2 |
| पूर्वापेक्षाएँ | कोई नहीं — अप्रमाणित, कोई प्लगइन नहीं, डिफ़ॉल्ट कॉन्फ़िगरेशन |
| मोड | गैर-विनाशकारी / केवल-पढ़ने की जांच |
उपकरण द्वारा एक अधिकृत आंतरिक VAPT अभियान में असुरक्षित WordPress इंस्टेंस का पता लगाने का स्क्रीनशॉट।

यह उपकरण केवल अधिकृत सुरक्षा परीक्षण और रक्षात्मक सत्यापन उद्देश्यों के लिए है।
| केवल उन WordPress इंस्टेंसेस के विरुद्ध उपयोग करें जिनके आप मालिक हैं, या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित प्राधिकरण है (जैसे अनुमोदित आंतरिक VAPT दायरा)। | |
यह जांच गैर-विनाशकारी होने के लिए डिज़ाइन की गई है — यह एक गैर-मौजूद श्रेणी ID (0) को लक्षित करती है और अनुमति-जांच परत पर रुक जाती है, इसलिए कभी भी कोई डेटा निर्मित, संशोधित या हटाया नहीं जाता। | |
| वास्तविक शोषण का प्रयास करने के लिए पेलोड को संशोधित न करें (जैसे श्रेणी ID को वास्तविक में बदलना, या इसे अन्य REST मार्गों पर इंगित करना)। ऐसा करने से यह एक डिटेक्टर से हथियारबंद शोषण में बदल जाता है — जिसके लिए यह उपकरण स्पष्ट रूप से नहीं बनाया गया है और इसका समर्थन नहीं करता। | |
| इसे अपने अधिकृत दायरे के बाहर के सिस्टम के विरुद्ध प्रकाशित, पुनर्वितरित या चलाएं नहीं। तृतीय-पक्ष सिस्टम के विरुद्ध अनधिकृत उपयोग इंडोनेशिया में ITE कानून (UU ITE) और अन्यत्र समकक्ष कंप्यूटर-दुरुपयोग कानूनों का उल्लंघन कर सकता है। | |
| जैसा है, बिना किसी वारंटी के प्रदान किया गया है। लेखक और किसी भी संबद्ध संगठन इस उपकरण के उपयोग से उत्पन्न दुरुपयोग, क्षति या कानूनी परिणामों के लिए कोई दायित्व स्वीकार नहीं करते। |
इस उपकरण का उपयोग करके आप सहमत हैं कि आप यह सुनिश्चित करने के लिए पूरी तरह से जिम्मेदार हैं कि आपका उपयोग लागू कानून और आपके संगठन की प्राधिकरण नीतियों का अनुपालन करता है।
WordPress Core का REST Batch API (/wp-json/batch/v1) उप-अनुरोधों के एक बैच को हल करते समय तीन समानांतर सरणियों को सिंक में रखता है। एक जानबूझकर विकृत उप-अनुरोध उन्हें डीसिंक्रनाइज़ करता है — जिससे प्रत्येक बाद के उप-अनुरोध को गलत हैंडलर और अनुमति कॉलबैक का उपयोग करके भेजा जाता है।
यह उपकरण एक निर्मित बैच अनुरोध भेजता है और केवल प्रतिक्रिया कोड का निरीक्षण करता है, कभी भी स्थिति-परिवर्तनकारी संचालन में प्रवेश नहीं करता।
| # | उप-अनुरोध | उद्देश्य |
|---|---|---|
| 0 | POST http://: | जानबूझकर विकृत — इंडेक्स डीसिंक को ट्रिगर करता है |
| 1 | DELETE /wp/v2/categories/0 | सुरक्षित सेंसर — श्रेणी ID 0 कभी मौजूद नहीं होती |
| 2 | POST /wp/v2/block-renderer/core/paragraph | रिसाव का पता लगाने के लिए उपयोग किया जाने वाला संदर्भ हैंडलर |
निर्णय तर्क
| परिणाम | निर्णय |
|---|---|
block_cannot_read | असुरक्षित — ब्लॉक-रेंडरर हैंडलर से अनुमति जांच लीक हो गई |
rest_term_invalid | पैच किया गया — श्रेणी हैंडलर ने सही उत्तर दिया |
| कोई मार्कर नहीं मिला | अनिश्चित — WAF, API अक्षम, या गैर-WordPress |
इसके अतिरिक्त, उपकरण प्रतिक्रिया हेडर से निष्क्रिय WAF/CDN फिंगरप्रिंटिंग करता है:
Cloudflare · Sucuri · Akamai · AWS CloudFront · Imperva · Fastly · F5 BIG-IP · Wordfence
# मूल स्कैन
./wp2shell_checker.py https://your-site.com
# एक रन में कई लक्ष्य
./wp2shell_checker.py https://site1.com https://site2.com https://site3.com
# कस्टम टाइमआउट
./wp2shell_checker.py https://your-site.com --timeout 20
# पूर्ण कच्चा अनुरोध/प्रतिक्रिया (पेलोड, हेडर, बॉडी) दिखाएं
./wp2shell_checker.py https://your-site.com --raw
# रंग/एनीमेशन अक्षम करें (फ़ाइल में लॉग करने के लिए)
./wp2shell_checker.py https://your-site.com --no-color > scan_report.txt
सभी फ़्लैग
| फ़्लैग | विवरण |
|---|---|
targets | स्कैन करने के लिए एक या अधिक आधार URL (आवश्यक) |
--timeout N | सेकंड में अनुरोध टाइमआउट (डिफ़ॉल्ट: 10) |
--no-color | ANSI रंग और स्कैन एनीमेशन अक्षम करें |
--raw | पूर्ण कच्चा अनुरोध/प्रतिक्रिया पेलोड और हेडर प्रिंट करें |
यदि कोई लक्ष्य असुरक्षित लौटता है:
7.0.2 पर (या 6.9.5 6.9 शाखा पर)। सुनिश्चित करें कि अपडेट वास्तव में लागू हो गया है।/wp-json/batch/v1 और ?rest_route=/batch/v1 को ब्लॉक करें — दोनों रूपों को ब्लॉक किया जाना चाहिए।| wp2shell.com | मूल चेकर और सलाह, Searchlight Cyber |
| Hadrian Security — Technical Breakdown | मूल कारण विश्लेषण |
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है — विवरण के लिए LICENSE फ़ाइल देखें।
Cybersecurity ILCS · आंतरिक रक्षात्मक उपयोग के लिए निर्मित