پژوهشگران امنیت سایبری از آسیبپذیری جدی در فریمورک لاراول پرده برداشتهاند که به مهاجمان اجازه میدهد تنها با در اختیار داشتن کلید APP_KEY، کنترل کامل از راه دور بیش از ۶۰۰ اپلیکیشن وب را بهدست آورند.
این کلید ۳۲ بایتی که در فایل .env پروژه ذخیره میشود، نقش حیاتی در رمزنگاری دادهها و تولید توکنهای احراز هویت ایفا میکند. با این حال، شرکت GitGuardian اعلام کرده طی همکاری با Synacktiv موفق به استخراج بیش از ۲۶۰ هزار کلید APP_KEY از مخازن عمومی گیتهاب بین سالهای ۲۰۱۸ تا ماه مه ۲۰۲۵ شده است. بررسیها نشان میدهد حداقل ۴۰۰ مورد از این کلیدها همچنان فعال بودهاند.
ضعف امنیتی مورد نظر به پیادهسازی تابع decrypt() در لاراول مربوط میشود. اگر مهاجم بتواند از طریق این تابع یک payload مخرب ارسال کند و همزمان کلید APP_KEY را نیز داشته باشد، میتواند به اجرای کد از راه دور اقدام کند.
این روش حمله پیشتر با شناسه CVE-2018-15133 در نسخههای قدیمی لاراول شناسایی شده بود اما اکنون مشخص شده در نسخههای جدید نیز با تنظیماتی مانند SESSION_DRIVER=cookie قابل سوءاستفاده است. آسیبپذیری مشابهی با شناسه CVE-2024-55556 برای نسخههای جدید گزارش شده است.
GitGuardian هشدار داده است که ۶۳ درصد نشتهای کلید APP_KEY از طریق فایلهای .env رخ میدهد؛ فایلهایی که معمولا حاوی اطلاعات حساس دیگری چون رمز پایگاه داده، توکنهای فضای ابری، و کلیدهای ایپیآی هستند. همچنین حدود ۲۸ هزار مورد نشت همزمان APP_KEY و APP_URL شناسایی شده که در ۱۰ درصد موارد همچنان قابل سوءاستفاده بودهاند.
کارشناسان امنیتی هشدار میدهند صرف حذف کلیدهای لو رفته از مخازن کافی نیست، چرا که ممکن است نسخههای کششده همچنان در دسترس مهاجمان باشند. توصیه اصلی، تغییر فوری کلیدها، بهروزرسانی همه محیطهای عملیاتی و پیادهسازی نظارت پیوسته برای شناسایی نشتهای احتمالی در آینده است.
توضیحات بیشتر:
Over 600 Laravel Apps Exposed to Remote Code Execution Due to Leaked APP_KEYs on GitHub