یک آسیبپذیری ارتقاء سطح دسترسی در دو افزونه وردپرس Malware Protection وWeb Application Firewall شرکت MiniOrange کشف شده است که به مهاجمان اجازه میدهد بدون انجام مراحل تصدیق هویت، دسترسی خود را به سطح مدیر ارتقاء دهند. این آسیبپذیری دارای شدت 9.8 بوده و شناسه CVE-2024-2172 به آن اختصاص یافته است. این دو افزونه، دیگر بهروزرسانی جدیدی دریافت نخواهند کرد، بنابراین توجه به این آسیبپذیری برای کاربران آنها بسیار حیاتی میباشد.
هر دو افزونه فوقالذکر دارای آسیبپذیری در یک تابع یکسان میباشند. با بررسی کد منبع، مشاهده میشود که تابع ()mo_wpns_init در کلاس mo_mmp_LoginHandler، توسط افزونه جهت راهاندازی hook استفاده میشود:
در این تابع اگر پارامتر option برابر mo_wpns_change_password باشد تابع ()handle_change_password فراخوانی خواهد شد:
این آسیبپذیری به دلیل عدم استفاده مناسب از تابع ()wp_authenticate_username_password در تابع ()handle_change_password به وجود میآید. شیء $user به تابع تصدیق هویت ارسال میشود که توسط تابع ()get_user_by بر اساس نام کاربری پرس و جو میشود:
این پارامتر باید به طور پیشفرض null باشد زیرا اگر یک شیء WP_User وجود داشته باشد، هیچ تصدیق هویت و تایید اعتبار کلمه عبوری وجود ندارد و این تابع user object را باز میگرداند. از آنجایی که هیچ تصدیق هویت و تایید اعتبار کلمه عبوری وجود ندارد، تابع ()update_strong_password در تابع ()handle_change_password هنگام ارائه یک نام کاربری معتبر اجرا میشود و کلمه عبور را برای آن کاربر بهروزرسانی مینماید. این امر به مهاجم اجازه میدهد تا بدون تصدیق هویت، کلمه عبور کاربر دلخواه را تغییر دهد. با تغییر کلمه عبور یک کاربر با سطح دسترسی مدیر، کل وبسایت تحت کنترل مهاجم قرار خواهد گرفت.
محصولات تحت تأثیر
- نسخه 4.7.2 و قبلتر افزونه miniorange malware protection
- نسخه 2.1.1 و قبلتر افزونه miniorange web application firewall
توصیههای امنیتی
با توجه به آن که دیگر بهروزرسانی جدیدی برای این دو افزونه منتشر نخواهد شد، توصیه میشود نسبت به حذف این دو افزونه از وبسایت خود اقدام نمایید.
منبع خبر:
https://www.wordfence.com/blog/2024/03/critical-vulnerability-remains-unpatched-in-two-permanently-…
- 41