लोकप्रिय Journal थीम का उपयोग करने वाली एक ओपनकार्ट वेबसाइट के ऑडिट के दौरान, हम यह पता लगाने में सक्षम थे कि एक विशेष एंडपॉइंट SQL त्रुटियों के माध्यम से संवेदनशील डेटा एक्सपोजर के प्रति संवेदनशील है। इस समस्या को ठीक करने वाला Journal संस्करण 3.1.0, 1 जुलाई, 2020 को जारी किया गया था।
CVE ID: CVE-2020-15478
सारांश
25K से अधिक वेबसाइट्स में उपयोग की जाने वाली सबसे ज्यादा बिकने वाली ओपनकार्ट थीम Journal, संवेदनशील जानकारी उजागर करने और SQL इंजेक्शन जैसे अधिक हमलों के प्रति संभावित रूप से कमज़ोर पाई गई।
संवेदनशील डेटा एक्सपोजर, एक OWASP टॉप 10 भेद्यता, तब होती है जब कोई एप्लिकेशन संवेदनशील डेटा को पर्याप्त रूप से सुरक्षित करने में विफल रहता है। उजागर की गई जानकारी में पासवर्ड, सेशन टोकन, क्रेडिट कार्ड डेटा, निजी स्वास्थ्य डेटा, और बहुत कुछ शामिल हो सकते हैं।
भेद्यता
भेद्यता पर अधिक विवरण 15 जुलाई को जोड़ा जाएगा ताकि थीम उपयोगकर्ताओं के पास नवीनतम संस्करण में अपडेट करने के लिए पर्याप्त समय हो।
तकनीकी विवरण के साथ अपडेट:
/catalog/controller/journal3/blog.php में "page" पैरामीटर को पूर्णांक के रूप में टाइपकास्ट करने के तरीके के कारण, यदि कोई स्ट्रिंग दर्ज करता है, तो इसके परिणामस्वरूप एक विस्तृत एरर मैसेज दिखता है जिसमें SQL एरर, डेटाबेस विवरण, और आंतरिक पथ दिखता है।
ऐसी जानकारी एक हमलावर को अपने हमलों को बेहतर ढंग से तैयार करने में मदद कर सकती है। हम देखते हैं कि $page को $page = (int)Arr::get($this->request->get, 'page', 1); का उपयोग करके पूर्णांक में टाइपकास्ट किया गया है, उल्लिखित फ़ाइल में।
टाइमलाइन
भेद्यता 11 जून, 2020 को Journal टीम को रिपोर्ट की गई।
संस्करण 3.1.0 जिसमें भेद्यता का फिक्स शामिल है, 1 जुलाई, 2020 को जारी किया गया।
सिफारिश
- थीम को नवीनतम संस्करण में अपडेट करने की दृढ़ता से सिफारिश की जाती है।
- आप /catalog/controller/journal3/blog.php में लाइन
$page = (int)Arr::get($this->request->get, 'page', 1);के बाद निम्न कोड भी जोड़ सकते हैं:
if ($page == 0) { $page=1; }
संदर्भ
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15478
- https://docs.journal-theme.com/changelog
- https://nvd.nist.gov/vuln/detail/CVE-2020-15478