वर्डप्रेस जीडीपीआर कुकी सहमति प्लगइन, जो उपयोगकर्ताओं के लिए आसान जीडीपीआर अनुपालन की सुविधा प्रदान करता है, अनुचित पहुंच नियंत्रणों के प्रति संवेदनशील पाया गया। यह भेद्यता एक वेबसाइट में विशेषाधिकार वृद्धि और संग्रहीत XSS जैसी गंभीर कमजोरियों को जन्म दे सकती है। इसे लिखते समय GDPR कुकी सहमति प्लगइन का सक्रिय रूप से 700000 से अधिक वर्डप्रेस वेबसाइटों पर उपयोग किया जा रहा है।
भेद्यता की समयरेखा
- रिपोर्ट की गई – 4 फरवरी 2020 को
- फिक्स्ड - 10 फरवरी 2020
- प्रभावित संस्करण - सभी संस्करण <=1.8.2
- पैच किया गया संस्करण - 1.8.3
भेद्यता की सूचना सबसे पहले wordpress.org को दी गई थी। पोस्ट करें, प्लगइन को अस्थायी रूप से वर्डप्रेस रिपॉजिटरी से हटा दिया गया था। 10 फरवरी को पैच उपलब्ध होते ही वर्डप्रेस ने प्लगइन से प्रतिबंध हटा लिया।
संस्करण <=1.8.2 पर मौजूद कोई भी व्यक्ति हैक किया जा सकता है . इसलिए पैच किए गए संस्करण =1.8.3 में अपडेट करें जितनी जल्दी हो सके।
GDPR प्लगइन की कमजोरियों को समझना
भेद्यता cli_policy_generator
. में निहित है --construct method.
. में cli_policy_generator
जिसे WordPress AJAX API के माध्यम से निष्पादित किया जाता है - ajax_policy_generator में महत्वपूर्ण क्षमता जांच का अभाव है। जिसके कारण भले ही एक गैर-कोड AJAX पर भेजा जाता है, यह पूरे PHP ढांचे में असत्यापित हो जाता है।
बदले में, AJAX_policy_generator तीन क्रियाओं की अनुमति देता है:autosave_contant_data, save_contentdata, और get_policy_pageid ।
इनमें से दो कार्रवाइयां - autosave_contant_data, save_contentdata हमलों के लिए अतिसंवेदनशील हैं। जबकि autosave_contant_data विशेषाधिकार वृद्धि का कारण बन सकता है, save_contentdata एक संग्रहीत XSS की ओर ले जा सकता है।
save_contentdata में भेद्यता
cli_policy_generator
. का save_contentdata जीडीपीआर कुकी को पेज पोस्ट प्रकार के रूप में सहेजने की अनुमति देता है। जिसका शोषण करके कोई भी प्रमाणित उपयोगकर्ता जिसके पास सब्सक्राइबर जितनी कम अनुमति है, वह पोस्ट की स्थिति को बदल सकता है। कोई भी प्रमाणित उपयोगकर्ता किसी पोस्ट को प्रकाशित कर सकता है, या किसी प्रकाशित पोस्ट को ड्राफ़्ट में स्थानांतरित कर सकता है। या इससे भी बदतर, पूरी वेबसाइट को ड्राफ़्ट में ले जाएँ, जिससे वह क्रैश हो जाए।
public function save_contentdata() { $out=array( 'response'=>true, 'er'=>'' ); $content_data=isset($_POST['content_data']) ? $_POST['content_data'] : array(); $page_id=(int) isset($_POST['page_id']) ? $_POST['page_id']*1 : 0; $enable_webtofee_powered_by=(int) isset($_POST['enable_webtofee_powered_by']) ? $_POST['enable_webtofee_powered_by']*1 : 0; $id=wp_insert_post( array( 'ID'=>$page_id, //if ID is zero it will create new page otherwise update 'post_title'=>'Cookie Policy', 'post_type'=>'page', 'post_content'=>Cookie_Law_Info_Cli_Policy_Generator::generate_page_content($enable_webtofee_powered_by,$content_data,0), 'post_status' => 'draft', //default is draft ) ); if(is_wp_error($id)) { $out=array( 'response'=>false, 'er'=>__('Error','cookie-law-info'), //'er'=>$id->get_error_message(), ); }else { Cookie_Law_Info_Cli_Policy_Generator::set_cookie_policy_pageid($id); $out['url']=get_edit_post_link($id); } return $out; }
autosave_contant_data में सुभेद्यता
autosave_constant_data GDPR कुकी को अस्थायी रूप से cli_pg_content_data में सहेजता है, जबकि व्यवस्थापक अभी भी इसे संपादित कर रहा है।
cli_pg_content_data में सत्यापन जांच अनुपलब्ध होने के कारण, कोई भी प्रमाणित उपयोगकर्ता GDPR कुकी सहमति प्लग इन वाली वेबसाइट में दुर्भावनापूर्ण JavaScript कोड डाल सकता है।
public function autosave_contant_data() { global $wpdb; $scan_table=$wpdb->prefix.$this->main_tb; $out=array( 'response'=>true, 'er'=>'' ); $content_data=isset($_POST['content_data']) ? $_POST['content_data'] : array(); $page_id=isset($_POST['page_id']) ? $_POST['page_id'] : ''; $enable_webtofee_powered_by=(int) isset($_POST['enable_webtofee_powered_by']) ? $_POST['enable_webtofee_powered_by']*1 : 0; if(is_array($content_data)) { $content_html=Cookie_Law_Info_Cli_Policy_Generator::generate_page_content($enable_webtofee_powered_by,$content_data); update_option('cli_pg_content_data',$content_html); }else { $out=array( 'response'=>false, 'er'=>__('Error','cookie-law-info') ); } return $out; }
पैच उपलब्ध है! अभी अपडेट करें
नवीनतम संस्करण 1.8.3 में अपडेट करें और फ़ायरवॉल-अपनी वेबसाइट को सुरक्षित रखें।
एस्ट्रा फ़ायरवॉल आपकी वेबसाइट को XSS, SQLi, CSRF, LFI, RFI, स्पैम, बैड बॉट्स, OWASP टॉप 10, और बहुत कुछ जैसे हमलों से बचाता है। एस्ट्रा के साथ शुरुआत करना बेहद आसान है। ऐसा करने का तरीका यहां बताया गया है:
- एक योजना चुनें और साइन अप करें।
- स्वयं सेवित कुछ चरणों का पालन करके एस्ट्रा स्थापित करें (<5 मिनट लगते हैं)।
बस इतना ही। एस्ट्रा फ़ायरवॉल सक्रिय रूप से आपके रास्ते में आने वाले किसी भी हमले से आपकी रक्षा कर रहा है। अब आप एस्ट्रा डैशबोर्ड से अपनी वेबसाइट की निगरानी कर सकते हैं।
अभी भी निश्चित नहीं? यहां से एस्ट्रा डेमो प्राप्त करें।
यदि आपके पास नीचे टिप्पणी पूछने या हमें एक संदेश छोड़ने के लिए कोई प्रश्न हैं। हम जवाब देने का वादा करते हैं 🙂