خلاصه
دو آسیبپذیری ۹٫۸ از ۱۰ در افزونه رزرو سفر وردپرس (WP Travel Engine) کشف شد؛ هر کس بدون نامکاربری میتواند فایلهای سرور را حذف یا کدهای مخرب را اجرا کند. بهروزرسانی فوری نسخه ۶٫۶٫۷ به بالا الزامی است.
مقدمه
افزونه WP Travel Engine روی بیش از ۲۰٬۰۰۰ وبسایت گردشگری فعال است. دو باگ تازه به مهاجمان اجازه میدهد کنترل کامل سایت را بگیرند؛ در این مقاله میگویید چهطور در برابرشان ایمن شوید.
مشکل اول: حذف یا تغییرنام هر فایل روی سرور
دلیل بروز
تابع set_user_profile_image مسیر فایل را بررسی نمیکند؛ بنابراین مهاجم میتواند نام فایلهای سیستمی را تغییر دهد یا آنها را پاک کند.
پیامد
- حذف wp-config.php و خرابشدن اتصال به پایگاهداده
- امکان اجرای کد از راه دور (RCE) پس از پاککردن فایلهای امنیتی
مشکل دوم: اجرای کد PHP دلخواه
دلیل بروز
پارامتر mode بدون کنترل دریافت میشود و اجازه میدهد هر فایل PHP دلخواهی روی سرور بارگذاری و اجرا شود.
پیامد
- افشای اطلاعات حساس کاربران
- آلودهشدن سایت به بدافزار
نحوه بررسی نسخه فعلی
- در پیشخوان وردپرس به مسیر افزونهها > افزونههای نصبشده بروید.
- در ستون «نسخه» پس از نام WP Travel Engine شماره را ببینید.
- اگر ۶٫۶٫۷ یا پایینتر است، باید بهروزرسانی انجام دهید.
روز رسانی سریع و ایمن
- قبل از هر تغییر، بکآپ کامل بگیرید.
- در پیشخوان روی «بهروزرسانیها» کلیک و سپس «بهروزرسانی هماکنون» را برای WP Travel Engine بزنید.
- پس از اتمام، صفحه افزونه را Refresh کنید تا نسخه ۶٫۶٫۸ یا بالاتر نمایش داده شود.
اگر نمیتوانید افزونه را بهروز کنید
- افزونه را تا زمان انتشار نسخه جدید غیرفعال کنید.
- از دیوار آتش وبسایت (WAF) مانند wordfence استفاده کنید تا درخواستهای مشکوک را فیلتر کند.
- فایل wp-config.php را بخوانید و دسترسی آن را به ۴۴۰ یا ۴۰۰ محدود کنید تا امکان حذف آن کمتر شود.
جمعبندی
هر دو آسیبپذیری بدون نیاز به ورود کاربر عمل میکنند و نمره CVSS ۹٫۸ را دارند. فقط کافی است یک بار افزونه را بهروز کنید تا درهای پشتصحنه به روی مهاجمان بسته شود و کسبوکار گردشگریتان در امان بماند.
