জনপ্রিয় Journal থিম ব্যবহার করা একটি OpenCart ওয়েবসাইট অডিট করার সময় আমরা পেলাম যে একটি নির্দিষ্ট এন্ডপয়েন্ট SQL এরর মাধ্যমে সেনসিটিভ ডেটা এক্সপোজারেরต่อসহ ভালনরেবল। Journal ভার্সন 3.1.0 যা ইস্যুটি ফিক্স করে, জুলাই ১, ২০২০-এ রিলিজ করা হয়েছিল।
CVE ID: CVE-2020-15478
সারসংক্ষেপ
Journal, ২৫K+ ওয়েবসাইটে ব্যবহৃতБеस्ट-সেলিং OpenCart থিম, সেনসিটিভ ইনফরমেশন এক্সপোজ করার পাশাপাশি SQL ইনজেকশন এর মতো আরও আক্রমণের प्रति পোটেনশিয়ালি ভালনরেবল বলে পাওয়া গেল।
Sensitive Data Exposure, একটি OWASP Top 10 দুর্বলতা, ঘটে যখন একটি অ্যাপ্লিকেশন সংবেদনশীল ডেটা পর্যাপ্তভাবে সুরক্ষিত করতে ব্যর্থ হয়। এক্সপোজ হওয়া ইনফরমেশনতে পাসওয়ার্ড, সেশন টোকেন, ক্রেডিট কার্ড ডেটা, প্রাইভেট হেলথ ডেটা, এবং আরও অনেক কিছু থাকতে পারে।
দুর্বলতা
দুর্বলতা সম্পর্কে আরও ডিটেইল জুলাই ১৫-এ যোগ করা হবে যাতে থিম ব্যবহারকারীদের লেটেস্ট ভার্সনে আপডেট করার জন্য পর্যাপ্ত সময় পায়।
টেকনিক্যাল ডিটেইলস সহ আপডেট:
/catalog/controller/journal3/blog.php ফাইলে "page" প্যারামিটারটি ইੰਟিজার হিসেবে টাইপকাস্ট করার পদ্ধতির কারণে, কেউ যদি স্ট্রিং ইনপুট দেয়, তাহলে একটি ডিটেইলড এরর মেসেজ দেখায় SQL এরর, ডেটাবেস ডিটেইল, এবং ইন্টারনাল পাথ।
এই ইনফরমেশন আক্রমণকারীর আক্রমণ ভালোভাবে প্রস্তুত করতে সাহায্য করতে পারে। আমরা দেখতে পাচ্ছি $page টাইপ কাস্ট করা হচ্ছে $page = (int)Arr::get($this->request->get, 'page', 1); ব্যবহার করে উল্লিখিত ফাইলে।
টাইমলাইন
জুন ১১, ২০২০-এ Journal টিমকে দুর্বলতা রিপোর্ট করা হয়েছিল।
জুলাই ১, ২০২০-এ ভার্সন ৩.১.০ রিলিজ হয়েছিল যেটিতে দুর্বলতা ফিক্স ছিল।
সুপারিশ
- থিমটি লেটেস্ট ভার্সনে আপডেট করার দৃঢ় সুপারিশ দেওয়া হচ্ছে।
- আপনি /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