परिचय
7 मई, 2024 को, WP-Firewall, एक प्रमुख सुरक्षा सलाहकार संगठन, ने Uncode Core प्लगइन में पाई गई गंभीर कमज़ोरियों के बारे में एक विस्तृत रिपोर्ट प्रकाशित की। यदि आप एक Uncode उपयोगकर्ता हैं, तो अपने WordPress साइट को संभावित हमलों से बचाने के लिए अपने कोर प्लगइन को कम से कम 2.8.9 संस्करण में अपडेट करना महत्वपूर्ण है। यह पोस्ट इन कमज़ोरियों, उनके प्रभावों और उन्हें कम करने के लिए उठाए गए कदमों की बारीकियों पर चर्चा करेगी।
अनकोड कोर प्लगइन के बारे में
Undsgn द्वारा विकसित Uncode Core प्लगइन, Uncode थीम का एक आवश्यक घटक है - WooCommerce साइटों के लिए एक अत्यधिक लोकप्रिय प्रीमियम थीम, जिसकी ThemeForest पर 110,000 से अधिक बिक्री हुई है। Uncode थीम अपने पिक्सेल-परफेक्ट डिज़ाइन के लिए प्रसिद्ध है, जो इसे पोर्टफोलियो, एजेंसियों, फ्रीलांस, ब्लॉग और ऑनलाइन स्टोर सहित विभिन्न वेबसाइटों के लिए आदर्श बनाता है।
सुरक्षा कमज़ोरियाँ
WP-Firewall के सुरक्षा शोधकर्ताओं ने Uncode Core प्लगइन में दो महत्वपूर्ण कमजोरियों की पहचान की:
1. प्रमाणित मनमाना फ़ाइल और निर्देशिका हटाना
विवरण: यह भेद्यता किसी भी प्रमाणित उपयोगकर्ता को कम से कम सब्सक्राइबर भूमिका के साथ सर्वर पर मनमाने निर्देशिकाओं को हटाने की अनुमति देती है। समस्या `delete_download` फ़ंक्शन में है, जिसमें उचित अनुमति और नॉन्स चेक का अभाव है। यह फ़ंक्शन `wp_ajax_uncodefont_delete_download` क्रिया से जुड़ा हुआ है, जिससे प्रमाणित उपयोगकर्ताओं के लिए इसका फायदा उठाना संभव हो जाता है।
टेक्निकल डिटेल:
फ़ंक्शन डिलीट_डाउनलोड() {
यदि (isset($_REQUEST['font_family'])) {
$फ़ॉन्ट_फ़ैमिली = $_REQUEST['फ़ॉन्ट_फ़ैमिली'];
$font_dir = ट्रेलिंगस्लैशिट($this->font_directory).$font_family;
$fontkit_zip = $font_dir.'.zip';
अगर (@file_exists($fontkit_zip)) {
अगर (!@unlink($fontkit_zip)) {
इको json_encode(array(
'त्रुटि' => sprintf( esc_html__( ' @fontface किट ज़िप %1$s को हटाने में विफल.', 'uncode-core' ), $fontkit_zip )
));
मरना();
}
}
// निर्देशिका को हटाया नहीं जा सकता, क्योंकि unzip_file, जिसने इसे बनाया है, WP_Filesystem का उपयोग करता है। इसलिए हम इसे हटाने के लिए WP_Filesystem का उपयोग करते हैं।
$this->setup_wp_filesystem();
वैश्विक $wp_फ़ाइलसिस्टम;
यदि (isset($wp_filesystem)) {
$delete_dir = $wp_filesystem->delete($font_dir, सत्य);
अगर (!$delete_dir) {
इको json_encode(array('error' => $delete_dir['error']));
मरना();
}
}
echo json_encode(array('success' => "डाउनलोड हटा दिया गया"));
}
मरना();
}
इसमें /font-system/font-system.php, फ़ंक्शन delete_download() शामिल है
यह फ़ंक्शन उपयोगकर्ता इनपुट (`$_REQUEST['font_family']`) से `$font_dir` चर का निर्माण बिना किसी सफ़ाई के करता है, जिससे निर्देशिका ट्रैवर्सल और मनमाने ढंग से विलोपन की अनुमति मिलती है।
2. प्रमाणित विशेषाधिकार वृद्धि
विवरण: यह भेद्यता किसी भी प्रमाणित उपयोगकर्ता को कम से कम सब्सक्राइबर भूमिका के साथ वर्डप्रेस साइट पर किसी भी भूमिका के लिए अपने विशेषाधिकारों को बढ़ाने में सक्षम बनाती है। यह `save_option` फ़ंक्शन में एक असुरक्षित WP विकल्प अपडेट के कारण है, जिसमें उचित अनुमति जाँच का अभाव है।
टेक्निकल डिटेल:
सार्वजनिक फ़ंक्शन save_option() {
यदि (isset( $_POST['nonce'] ) && wp_verify_nonce( $_POST['nonce'], 'uncode-core-settings-nonce' ) ) {
यदि (isset( $_POST['value'] ) && $_POST['value'] && isset( $_POST['option_id'] ) && $_POST['option_id'] ) {
$autoload = isset( $_POST['autoload'] ) && $_POST['autoload'] === 'सत्य' ? सत्य : असत्य;
अपडेट_विकल्प( $_POST['विकल्प_id'], $_POST['मूल्य'], $autoload );
---------- यहां से काटे ----------
इसमें /core-settings/class-core-settings.php, फ़ंक्शन save_option() शामिल है
इस फ़ंक्शन में प्रयुक्त नॉन्स को wp-admin क्षेत्र तक पहुंच वाले किसी भी प्रमाणीकृत उपयोगकर्ता द्वारा प्राप्त किया जा सकता है, जिससे विकल्पों और विशेषाधिकार वृद्धि में अनधिकृत अपडेट की अनुमति मिलती है।
पैच
इन कमजोरियों को दूर करने के लिए, अनकोड कोर प्लगइन डेवलपर्स ने संस्करण 2.8.9 जारी किया, जिसमें निम्नलिखित सुधार शामिल हैं:
– प्रमाणीकृत मनमाना फ़ाइल और निर्देशिका हटाना: `delete_download` फ़ंक्शन में अनुमति और नॉन्स जाँच को कार्यान्वित किया गया।
– प्रमाणित विशेषाधिकार वृद्धि: `save_option` फ़ंक्शन में अनुमति और नॉन्स जांच लागू की गई और विकल्प कुंजियों के लिए श्वेतसूची जांच जोड़ी गई।
निष्कर्ष
अपनी वर्डप्रेस साइट की सुरक्षा सुनिश्चित करने के लिए नवीनतम पैच और सुरक्षा सलाह के साथ अपडेट रहना शामिल है। अनकोड कोर प्लगइन में कमज़ोरियाँ किसी भी संवेदनशील क्रिया के लिए उचित अनुमति और नॉन्स चेक को लागू करने के महत्व को रेखांकित करती हैं। हमेशा उपयोगकर्ता इनपुट को साफ करें और उपयोगकर्ता क्रियाओं के माध्यम से क्या अपडेट या हटाया जा सकता है, इसके दायरे को सीमित करें।
अधिक विस्तृत जानकारी के लिए, आप WP-Firewall की वेबसाइट पर पूर्ण सुरक्षा सलाह पढ़ सकते हैं यहाँ.
सुरक्षित रहें
WP-Firewall वर्डप्रेस सुरक्षा के लिए विभिन्न समाधान प्रदान करता है, जिसमें प्लगइन ऑडिटिंग, भेद्यता निगरानी और प्रतिक्रिया, और प्रबंधित वर्डप्रेस सुरक्षा सेवाएँ शामिल हैं। यदि आप एक प्लगइन डेवलपर या सुरक्षा शोधकर्ता हैं, तो WP-Firewall में शामिल होने पर विचार करें।