به تازگی محققان امنیتی موفق به کشف یک آسیبپذیری با شدت بالا (7.8) و شناسه CVE-2024-21644 در نرمافزار PyLoad شدهاند. نرمافزار مدیریت دانلود PyLoad، یک نرمافزار توسعه یافته با زبان برنامهنویسی پایتون است که کاربران خود را قادر میسازد تا از طریق آن بتوانند هر گونه محتوای قابل دانلود را از شبکه اینترنت یا از شبکههای محلی که به آن متصل هستند، دانلود کنند. از جمله فرمتهای خاصی که PyLoad توانایی دانلود آنها را دارد، container formats (DLC) میباشد. ویژگی مهم دیگری که میتوان به آن اشاره کرد، وجود قابلیت خودکارسازی بسیاری از فرآیندها در این نرمافزار از طریق رابط کاربری تحت وب آن است. این رابط کاربری از طریق آدرس http://localhost:8000 با گذرواژه PyLoad قابل مشاهده میباشد.
هر مهاجم احراز هویت نشدهای با بهرهبرداری از این آسیبپذیری قادر است تا از طریق ایجاد یک URL خاص به فایل پیکربندی مربوط به چارچوب Flask دسترسی پیدا کند. این موضوع از آن جهت حائز اهمیت است که داخل این فایل، مقدار متغیر `SECRET_KEY` مربوط به Flask برای مهاجم قابل دسترس میباشد. از این متغیر برای امضاء کوکیها در یک Session جهت اطمینان از اعتبار و امنیت آن Session استفاده میشود و به هیچ وجه نباید در اختیار مهاجم قرار گیرد. مهاجم برای به دست آوردن مقدار متغییر SECRET_KEY باید مراحل زیر طی کند.
• ابتدا باید نرمافزار PyLoad را از طریق وارد کردن دستور زیر در محیط ترمینال خود اجرا کند.
PyLoad#
• اکنون او باید وارد رابط کاربری تحت وب این نرمافزار به آدرس زیر شود.
• و در نهایت، باید در آدرس URL رابط کاربری تحت وب خود به مسیر زیر برود.
http://localhost:8000/render/info.html
همانطور که در تصویر زیر مشخص است، مهاجم توانسته است با تغییر مسیر اصلی خود به مسیر render/info.html/ نه تنها به فایل پیکربندیFlask ، بلکه به مقدار SECRET_KEY نیز دسترسی پیدا کند. دلیل دستیابی مهاجم به SECRET_KEY، عدم رعایت یک نکته امنیتی ساده توسط برنامهنویس بوده است. طبق نظر متخصصان امنیتی، برنامهنویس هیچگاه نباید مقادیر محرمانه استفاده شده در یک سامانه را در داخل فایل تنظیمات ذخیره کند.
محصولات تحت تأثیر
تمام نسخههای قبل تر از نسخه 0.5.0b3.dev77 نرمافزار PyLoad در معرض این آسیبپذیری قرار دارند.
توصیههای امنیتی
کاربران باید در اسرع وقت نرمافزار PyLoad خود را به نسخه 0.5.0b3.dev77 بهروزرسانی کنند. همچنین کاربران میتوانند جهت اطلاع از تغییرات ایجاد شده در متن این نرمافزار، به منبع شماره 3 مراجعه کنند.
منابع خبر:
[1] https://nvd.nist.gov/vuln/detail/CVE-2024-21644
[2] https://www.cve.org/CVERecord?id=CVE-2024-21644
[3]https://github.com/PyLoad/PyLoad/commit/bb22063a875ffeca357aaf6e2edcd09705688c40
- 24