জনপ্রিয় জার্নাল থিম ব্যবহার করে একটি OpenCart ওয়েবসাইটে অডিট করার সময়, আমরা খুঁজে পেয়েছি যে একটি নির্দিষ্ট প্রান্তটি SQL ত্রুটির মাধ্যমে সংবেদনশীল ডেটা এক্সপোজারের জন্য ঝুঁকিপূর্ণ। জার্নাল সংস্করণ 3.1.0 সমস্যাটি সমাধান করে 1 জুলাই, 2020 এ প্রকাশিত হয়েছিল।
CVE আইডি: CVE-2020-15478
সারাংশ
জার্নাল, সর্বাধিক বিক্রিত OpenCart থিম যা 25K এরও বেশি ওয়েবসাইটে ব্যবহৃত হয়, এটি সংবেদনশীল তথ্য প্রকাশ করতে এবং SQL ইনজেকশনের মতো আরও আক্রমণের জন্য সম্ভাব্য ঝুঁকিপূর্ণ হতে দেখা গেছে।
সংবেদনশীল ডেটা এক্সপোজার, একটি OWASP শীর্ষ 10 দুর্বলতা, যখন একটি অ্যাপ্লিকেশন পর্যাপ্তভাবে সংবেদনশীল ডেটা সুরক্ষিত করতে ব্যর্থ হয়। উন্মুক্ত তথ্যের মধ্যে পাসওয়ার্ড, সেশন টোকেন, ক্রেডিট কার্ড ডেটা, ব্যক্তিগত স্বাস্থ্য ডেটা এবং আরও অনেক কিছু অন্তর্ভুক্ত থাকতে পারে।
দুর্বলতা
দুর্বলতা সম্পর্কে আরও বিশদ 15 জুলাই যোগ করা হবে যাতে থিম ব্যবহারকারীদের সর্বশেষ সংস্করণে আপডেট করার জন্য যথেষ্ট সময় থাকে৷
প্রযুক্তিগত বিবরণ সহ আপডেট করুন:
যেভাবে "পৃষ্ঠা" প্যারামিটারটিকে /catalog/controller/journal3/blog.php-এ পূর্ণসংখ্যা হিসাবে টাইপকাস্ট করা হয়েছে , যদি কেউ একটি স্ট্রিং প্রবেশ করে, এর ফলে SQL ত্রুটি, ডাটাবেসের বিবরণ এবং অভ্যন্তরীণ পথ দেখানো একটি বিশদ ত্রুটির বার্তা দেখায়৷
এই ধরনের তথ্য একজন আক্রমণকারীকে তাদের আক্রমণকে আরও ভালোভাবে প্রস্তুত করতে সাহায্য করতে পারে। আমরা দেখতে পাই যে $page টাইপ $page = (int)Arr::get($this->request->get, 'page', 1);
ব্যবহার করে একটি পূর্ণসংখ্যাতে কাস্ট করা হয়েছে উল্লেখিত ফাইলে।
টাইমলাইন
11 জুন, 2020-এ জার্নাল টিমকে দুর্বলতার রিপোর্ট করা হয়েছে।
ভার্সন 3.1.0 যেটিতে দুর্বলতার সমাধান রয়েছে তা 1 জুলাই, 2020-এ প্রকাশিত হয়েছিল।
প্রস্তাবিত
- থিমটিকে সর্বশেষ সংস্করণে আপডেট করার জন্য অত্যন্ত সুপারিশ করা হয়।
- আপনি
$page = (int)Arr::get($this->request->get, 'page', 1);
লাইনের পরে নিম্নলিখিত কোডটিও যোগ করতে পারেন /catalog/controller/journal3/blog.php:
-এ
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