در نرمافزار انجمن پروژه Monero که بر پایهی فریمورک لاراول نوشته شده، یک آسیبپذیری بحرانی از نوع PHP Object Injection وجود دارد. این آسیبپذیری به دلیل مدیریت نادرست ورودیهای غیرقابلاعتماد کاربر در مسیر /get/image/ ایجاد شده است.
در این بخش از نرمافزار، مقدار پارامتر link که کاربر ارسال میکند، بدون هیچگونه اعتبارسنجی یا فیلتر، مستقیماً به تابع ()file_get_contents داده میشود.
هرچند سیستم تلاش میکند با استفاده از تابع finfo نوع فایل را بررسی کند، اما مهاجم میتواند این بررسی را با استفاده از زنجیرههای stream filter در PHP دور بزند. با این روش، مهاجم قادر است هدرهای جعلی ایجاد کرده و به فایلهای حساس در سرور مانند config/app.php دسترسی پیدا کند.
با دسترسی به فایل پیکربندی، مهاجم میتواند مقدار APP_KEY را استخراج کند. این کلید رمزنگاری برای کوکیهای لاراول استفاده میشود. با در اختیار داشتن این کلید، مهاجم میتواند کوکیهای رمزنگاریشدهی جعلی تولید کند که شامل آبجکتهای مخرب هستند. این کوکیها در فرآیند پردازش در سمت سرور، منجر به فراخوانی تابع ()unserialize با دادههای دستکاریشده میشوند و در نهایت امکان اجرای کد از راه دور را به مهاجم میدهند.
محصولات آسیبپذیر
- این انجمن بر پایهی لاراول نسخهی 4.2.22 ساخته شده بود و اکنون بهصورت کامل از دسترس خارج شده است.
توصیههای امنیتی
- نسخهی 4.2.22 لاراول بسیار قدیمی و فاقد پچهای امنیتی حیاتی است. توصیه میشود به نسخههای پشتیبانیشده ارتقاء داده شود.
منابع خبر:
- 4