سامانه مدیریت محتوای جوملا این هفته یک آسیبپذیری جدی را برطرف کرد. با بهرهبرداری از این آسیبپذیری و بازنشانی نامهای کاربری و گذرواژهها، مهاجم میتوانست حسابهای دیگر کاربران را تغییر دهد.
نسخهی ۳.۶.۵ جوملا برای برطرف کردن ۳ آسیبپذیری منتشر شد و تنها یکی از این آسیبپذیریها با شدت بالا گزارش شده و ۲ آسیبپذیری دیگر از اهمیت کمی برخوردار بودند. علاوه بر وصلهی این آسیبپذیریها، در این نسخه سازوکارهای امنیتی جدیدی نیز ارائه شده است.
این آسیبپذیری مهم با شناسهی CVE-۲۰۱۶-۹۸۳۸ تمامی نسخههای جوملا از ۱.۶.۰ تا ۳.۶.۴ را تحت تأثیر قرار داده است. این بهرهبرداری ارتقاء امتیاز در اثر استفاده از دادههای پالایشنشده که در جلسات ذخیره میشوند و در فرآیند اعتبارسنجی فرم به شکست برمیخورند، ناشی شده است.
با بهرهبرداری از این آسیبپذیری، مهاجم میتواند تمامی حسابهای کاربری موجود را تغییر دهد. جوملا میگوید این تغییرات میتواند شامل تغییر نام کاربری، گذرواژه یا وظایف گروه باشد. تمامی وبگاههایی که از نسخههای آسیبپذیر جوملا استفاده میکنند، باید هرچه سریعتر به نسخهی ۳.۶.۵ بهروزرسانی انجام دهند.
در جوملا ۳.۶.۵ یک اشکال مربوط به بارگذاری شِل با شناسهی CVE-۲۰۱۶-۹۸۳۶ نیز وصله شده است. این آسیبپذیری بهدلیل ناکافی بودن بررسیها بر روی پروندههای سامانهای، اجازهی بارگذاری پروندههای جایگزین با پسوند PHP را میدهد. مشکل سوم یک آسیبپذیری افشای اطلاعات با شناسهی CVE-۲۰۱۶-۹۸۳۷ است که باعث میشود کاربر بتواند محتوای محدودشده را مشاهده کند. این اشکال بهدلیل بررسیهای ناکافی در فهرست کنترل دسترسی رخ میدهد.
این دو آسیبپذیری با درجه اهمیت کم در نظر گرفته شده و تنها نسخههای ۳.۰.۰ تا ۳.۶.۴ جوملا را تحت تأثیر قرار میدهند و در نسخهی جدید برطرف شده است. علاوه بر وصلهی آسیبپذیریها، سازوکار امنیتی جدیدی نیز در نسخهی ۳.۶.۵ ارائه شده که از ایجاد تغییرات خطرناک در پیکربندی جوملا توسط کاربر جلوگیری میکند.
بنابراین در نسخهی جدید امکان تنظیم «گروه ثبتنام کاربر جدید» و «گروه کاربر مهمان» برای گروهی با مجوز کاربران ویژه محدود شده است. همچنین قابلیت ایجاد تغییر در وظایف گروه، توسط یک کاربر با امتیازات کم محدود شده است.
علاوه بر اینها، تابع ()JUser::authorise نیز ویرایش شده تا تنها یک مقدار بولین برگرداند. قبلاً این تابع میتوانست مقدار تهی یا بولین برگرداند چرا که تابع فراخوانیشده ()JAccess::check میتوانست مقدار تهی برگرداند. پس از ایجاد تغییرات، توسعهدهندگانی که به بازگرداندن مقدار تهی نیاز دارند، باید از تابع ()JAccess::check استفاده کنند.
ثبت نظر