| प्लगइन का नाम | WPBakery पेज बिल्डर |
|---|---|
| कमजोरियों का प्रकार | संग्रहीत क्रॉस-साइट स्क्रिप्टिंग |
| CVE संख्या | CVE-2025-11160 |
| तात्कालिकता | कम |
| CVE प्रकाशन तिथि | 2025-10-15 |
| स्रोत URL | CVE-2025-11160 |
WPBakery पेज बिल्डर <= 8.6.1 — कस्टम JS मॉड्यूल में स्टोर किया गया XSS (CVE-2025-11160)
सारांश: एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) समस्या WPBakery पृष्ठ निर्माता के संस्करणों को 8.6.1 तक और शामिल करते हुए प्रभावित करती है। वेक्टर प्लगइन का कस्टम JS मॉड्यूल है और दोष का लाभ एक प्रमाणित उपयोगकर्ता द्वारा लिया जा सकता है जिसके पास योगदानकर्ता स्तर के विशेषाधिकार हैं। विक्रेता ने संस्करण 8.7 में एक सुधार जारी किया। यह लेख — एक हांगकांग सुरक्षा पेशेवर के स्पष्टता और व्यावहारिकता पर ध्यान केंद्रित करते हुए लिखा गया है — बताता है कि यह समस्या कैसे काम करती है, कौन जोखिम में है, पेलोड को कैसे पहचानें और हटाएं, और कौन से तात्कालिक उपाय लागू करें।.
- भेद्यता: WPBakery कस्टम JS मॉड्यूल में संग्रहीत XSS
- प्रभावित संस्करण: WPBakery <= 8.6.1
- ठीक किया गया: WPBakery 8.7
- CVE: CVE-2025-11160
- आवश्यक विशेषाधिकार: योगदानकर्ता (प्रमाणित)
- रिपोर्ट किया गया CVSS: 6.5 (संदर्भ-निर्भर)
- प्राथमिक प्रभाव: आगंतुकों और संभावित रूप से प्रशासकों के ब्राउज़रों में स्थायी जावास्क्रिप्ट निष्पादन (कुकी चोरी, रीडायरेक्ट, स्थायी विकृति, पिवटिंग)
संग्रहीत XSS क्या है और यह वर्डप्रेस के लिए क्यों महत्वपूर्ण है
संग्रहीत XSS तब होता है जब एक हमलावर साइट पर दुर्भावनापूर्ण जावास्क्रिप्ट को संग्रहीत करता है (पोस्ट, पोस्टमेटा, विजेट, या प्लगइन-प्रबंधित फ़ील्ड में) और साइट बाद में उस सामग्री को उचित आउटपुट एन्कोडिंग के बिना परोसती है। पेलोड तब निष्पादित होता है जब कोई भी (प्रशासकों सहित) प्रभावित पृष्ठ को देखता है।.
वर्डप्रेस साइटें उच्च-मूल्य के लक्ष्य क्यों हैं:
- प्रशासक-समर्थित पृष्ठ और पूर्वावलोकन पेलोड को निष्पादित कर सकते हैं, जिससे क्रेडेंशियल चोरी या सत्र कैप्चर सक्षम होता है।.
- स्थायी स्क्रिप्ट बैकडोर जोड़ सकती हैं, SEO स्पैम इंजेक्ट कर सकती हैं, या रीडायरेक्ट और सामग्री हेरफेर कर सकती हैं।.
- उपयोगकर्ता पंजीकरण या योगदानकर्ता कार्यप्रवाह वाली साइटें विशेष रूप से कमजोर होती हैं क्योंकि पेलोड को संग्रहीत करने के लिए एक निम्न-विशेषाधिकार खाता पर्याप्त है।.
इस मामले में, प्लगइन एक कस्टम JS मॉड्यूल को उजागर करता है जो वैध फ्रंट-एंड स्क्रिप्ट के लिए है; अपर्याप्त इनपुट प्रतिबंध और स्वच्छता एक योगदानकर्ता को एक दुर्भावनापूर्ण स्क्रिप्ट को स्थायी बनाने की अनुमति देती है जो आगंतुकों के ब्राउज़रों में निष्पादित होगी।.
तकनीकी अवलोकन: यह WPBakery भेद्यता कैसे काम करती है
- कस्टम JS मॉड्यूल डेटाबेस में सामग्री को संग्रहीत करता है (शॉर्टकोड, पोस्टमेटा या प्लगइन-विशिष्ट भंडारण)।.
- योगदानकर्ता स्तर के उपयोगकर्ताओं से इनपुट को ठीक से प्रतिबंधित या स्वच्छ नहीं किया जाता है इससे पहले कि इसे सहेजा जाए और बाद में प्रस्तुत किया जाए।.
- एक दुर्भावनापूर्ण योगदानकर्ता जावास्क्रिप्ट इंजेक्ट कर सकता है जो संग्रहीत होती है और बाद में किसी भी आगंतुक को लौटाई जाती है जो पृष्ठ को देखता है।.
संभावित हमले के परिदृश्य:
- जब एक प्रशासक एक संक्रमित पृष्ठ का पूर्वावलोकन या दौरा करता है, तो प्रशासनिक कुकीज़ या सत्र टोकन चुराएं और फिर उन्हें एक बाहरी सर्वर पर निकालें।.
- हमलावर डोमेन पर स्थायी रीडायरेक्ट करें, बाहरी मैलवेयर लोड करें, या स्पैम लिंक डालें।.
- फॉर्म सबमिशन को कैप्चर करने के लिए DOM हेरफेर का उपयोग करें या REST API या AJAX कॉल के माध्यम से अतिरिक्त क्रियाओं के लिए बढ़ाएं।.
नोट: इस शोषण के लिए कम से कम एक योगदानकर्ता खाता आवश्यक है। कई साइटें पंजीकरण की अनुमति देती हैं या कमजोर सत्यापन करती हैं - यही हमलावरों के लिए सामान्य मार्ग है।.
किसे जोखिम है?
- साइटें जो WPBakery पृष्ठ बिल्डर ≤ 8.6.1 चला रही हैं।.
- साइटें जो उपयोगकर्ता पंजीकरण की अनुमति देती हैं या अविश्वसनीय योगदानकर्ताओं से सामग्री स्वीकार करती हैं।.
- बहु-लेखक ब्लॉग और सामुदायिक या सदस्यता साइटें जो योगदानकर्ता भूमिकाओं की अनुमति देती हैं।.
- कोई भी साइट जहां प्रशासक लॉग इन रहते हुए पृष्ठों का पूर्वावलोकन करते हैं (एक सामान्य प्रथा)।.
मध्यम CVSS के साथ भी, एकल उजागर योगदानकर्ता-सक्षम साइट गंभीर समझौते का कारण बन सकती है यदि एक प्रशासक को लक्षित किया जाता है।.
तात्कालिक क्रियाएँ (पहले 1-2 घंटे)
-
प्लगइन संस्करण की पुष्टि करें
डैशबोर्ड: प्लगइन्स > स्थापित प्लगइन्स और WPBakery संस्करण की पुष्टि करें।.
WP-CLI:
wp plugin list --format=csv | grep js_composer || wp plugin get js_composer --field=version -
यदि आप कर सकते हैं तो 8.7+ पर अपडेट करें
यदि आपकी लाइसेंस और संगतता मैट्रिक्स द्वारा अनुमति दी गई है, तो डैशबोर्ड या WP-CLI के माध्यम से अपडेट करें:
wp plugin update js_composer --clear-plugins-cacheयदि आप तुरंत अपडेट नहीं कर सकते हैं, तो अपडेट शेड्यूल करते समय आभासी पैचिंग लागू करें (नीचे WAF सलाह देखें)।.
-
अस्थायी रूप से योगदानकर्ता पहुंच सीमित करें
जब तक आप अपडेट और स्कैन नहीं कर लेते, तब तक योगदानकर्ता भूमिका को हटा दें या प्रतिबंधित करें। निम्न-privilege भूमिकाओं के लिए कस्टम JS मॉड्यूल जोड़ने की क्षमता हटा दें।.
- इंजेक्टेड के लिए स्कैन करें
- इनलाइन इवेंट हैंडलर:
त्रुटि होने पर=,onclick=,11. साइट मालिकों के लिए तात्कालिक कदम - चोरी/एक्सफिल्ट्रेशन में उपयोग की जाने वाली APIs और फ़ंक्शन:
दस्तावेज़.कुकी,XMLHttpRequest,लाना,नई छवि() - ओबफस्केशन:
बेस64,eval(atob(...)), लंबे एनकोडेड स्ट्रिंग्स - क्रेडेंशियल्स को घुमाएं: किसी भी खातों के लिए पासवर्ड रीसेट करें जो सामग्री को इंजेक्ट करने के लिए उपयोग किए गए हो सकते हैं।.
- पासवर्ड रीसेट करने के लिए मजबूर करें: यदि संदिग्ध गतिविधि मौजूद है तो सभी प्रशासकों और संपादकों को पासवर्ड रीसेट करने की आवश्यकता है।.
- प्लगइनों/थीमों की मैनुअल जांच: किसी भी प्लगइन या थीम की समीक्षा करें जो JavaScript को स्टोर करने की अनुमति देती है; ऐसे घटकों के लिए मैनुअल कोड समीक्षा को प्राथमिकता दें।.
- पंजीकरण और भूमिकाओं को मजबूत करें:
- यदि आवश्यक न हो तो ओपन रजिस्ट्रेशन को अक्षम करें।.
- अप्रमाणित योगदानकर्ता खातों को सुरक्षित भूमिकाओं में परिवर्तित करें या उन्हें निलंबित करें।.
- उपयोगकर्ता-जनित सामग्री के लिए अनुमोदन-आधारित कार्यप्रवाह का उपयोग करें।.
- सर्वर लॉग की समीक्षा करें: उस समय के आसपास admin-ajax.php, REST API अंत बिंदुओं, या अन्य सामग्री अंत बिंदुओं पर POST अनुरोधों की तलाश करें जब दुर्भावनापूर्ण सामग्री प्रकट हुई।.
- यदि आवश्यक हो तो पुनर्स्थापित करें: यदि संक्रमण की चौड़ाई स्पष्ट नहीं है, तो ज्ञात-साफ बैकअप से पुनर्स्थापित करें, ठीक किए गए प्लगइन संस्करण में अपडेट करें, और स्कैन करने के बाद सामग्री को फिर से पेश करें।.
डेटाबेस खोज उदाहरण (विशेष वर्णों को सावधानी से एस्केप करें):
SELECT ID, post_title'
प्रबंधित WAF (वर्चुअल पैचिंग) के साथ अल्पकालिक शमन
यदि तुरंत अपडेट करना संभव नहीं है, तो वेब एप्लिकेशन फ़ायरवॉल (WAF) के माध्यम से वर्चुअल पैचिंग एक्सपोज़र को कम कर सकती है। उद्देश्य है शोषण प्रयासों और ज्ञात पेलोड पैटर्न को रोकना जब तक आप साइट को अपडेट और साफ नहीं कर लेते।.
वैचारिक WAF नियम उदाहरण (अपने WAF या गेटवे के माध्यम से लागू करें):