دو آسیبپذیری جدی در افزونه RANK MATH سیستم مدیریت محتوای وردپرس شناسایی شدهاست.
منبع : مرکز ماهر
دو آسیبپذیری جدی در افزونه RANK MATH سیستم مدیریت محتوای وردپرس شناسایی شدهاست.
به گزارش افتانا (پایگاه خبری امنیت فناوری اطلاعات)، به گفته محققان، یک جفت آسیبپذیری امنیتی در افزونه بهینهسازی موتور جستوجوی وردپرس (SEO) معروف به Rank Math وجود دارد که میتواند به مجرمان سایبری اجازه دهد از راه دور، امتیازات را بالا ببرند و redirectهای مخربی بر روی یک سایت هدف نصب کنند. این افزونه WordPress بیش از ۲۰۰هزار بار نصب شدهاست.
یکی از این آسیبپذیریها که از نظر شدت، بحرانی رتبهبندی شدهاست (امتیاز CVSSv۳ آن ۱۰ از ۱۰ است) به مهاجم غیرمجاز اجازه میدهد ابردادههای دلخواه را بهروزرسانی کند. این افزونه یک نقطهپایانی REST-API (rankmath/v۱/updateMeta) را ثبت میکند. این نقطهپایانی تابعی به نام “update-metadate” را فراخوانی میکند. این تابع میتواند برای بهروزرسانی slug در پستهای موجود یا حذف و بهروزرسانی ابردادهها برای پستها، نظرات و اصطلاحات استفاده شود. نقطهپایانی REST-API همچنین امکان بهروزرسانی ابرداده را برای کاربران فراهم میآورد. این نقص ناشی از عدم بررسی مجوزهای کاربرانی است که تغییرات ایجاد میکنند. مجوزهای کاربر WordPress در جدول usermeta ذخیره میشود. مهاجم غیرمجاز میتواند با ارسال یک درخواست _POST $ به wp-json / rankmath / v۱ / updateMeta، به همراه تنظیم پارامتر objectID به User ID برای تغییر، تنظیم پارامتر objectType به user، تنظیم پارامتر meta[wp_user_level] به ۱۰، تنظیم پارامتر meta[wp_capabilities][administrator] به ۱، به هر کاربر ثبتشده امتیاز مدیریتی اعطا کند. سوءاستفاده از این نقص میتواند به هر کاربر ثبتنامشده در سایت امتیاز مدیریتی اعطا کند یا آن را ابطال کند. مهاجمان همچنین میتوانند با ارسال درخواست مشابهی با تنظیم پارامترهای meta[wp_user_level] و meta[wp_capabilities][administrator] به مقادیر خالی، امتیاز مدیران موجود را لغو کنند. این امر مدیران را از سایتهای خود اخراج میکند.
به گفته محققان، حملات نامبرده، بحرانیترین حملات ممکن هستند. بسته به سایر افرونههای نصبشده در یک سایت، قابلیت بهروزرسانی ابرداده پست، عبارت و نظر میتواند بهطور بالقوه برای بسیاری از سوءاستفادههای دیگر مانند اسکریپتنویسی متقابل (XSS) استفاده شود.
آسیبپذیری دوم که از نظر شدت، «بالا» رتبهبندی شدهاست (امتیاز CVSSv۳ آن ۷.۴ از ۱۰ است)، میتواند یک مهاجم غیرمجاز را قادر سازد redirectهایی را تقریباً از هر مکانی در سایت به هر مقصد موردنظر خود، ایجاد کند.
افزونه Rank Math دارای یک ماژول اختیاری است که میتواند برای ایجاد redirectها در یک سایت استفاده شود. به عنوان مثال ممکن است یک مدیر این کار را برای دورکردن بازدیدکنندگان از صفحاتی که در دست ساخت هستند، انجام دهد. به منظور اضافه کردن این ویژگی، افزونهی Rank Math باز هم یک نقطهپایانی REST-API به نام "rankmath / v۱ / updateRedirection" ثبت میکند و مانند آسیبپذیری اول، این نقطهپایانی نمیتواند مجوزها را بررسی کند. در نتیجه مهاجم میتواند به راحتی redirectهایی ایجاد کند و redirectهای موجود را تغییر دهد. به منظور سوءاستفاده از این نقص، لازم است مهاجم غیرمجاز یک درخواست $ _POST به rankmath / v۱ / updateRedirection، به همراه تنظیم پارامتر redirectionUrl به مکانی که میخواهند redirect برود، تنظیم پارامتر redirectionSources به مکانی که از آنجا redirect میشود و تنظیم پارامتر hasRedirect به true، ارسال کند. چنین حملهای میتواند با redirect بازدیدکنندگان به یک سایت مخرب، تقریباً مانع از دسترسی به تمامی محتوای سایت موجود شود. آنچه مانع از بحرانیشدن این نقص میشود این است که redirect نمیتواند به فایل یا پوشهی موجود در کارگزار، از جمله صفحه اصلی سایت، تنظیم شود.
مدیران وب میتوانند با ایجاد یک “permission-callback” در هر نقطهپایانی REST-API یا با بهروزرسانی آخرین نسخه از این افزونه، شدت آسیب این نقص را کاهش دهند. این دو نقص در ۲۴ مارس به توسعهدهندهی افزونهی Rank Math گزارش شدند و وصلهی مربوط به آنها در آخرین نسخهی ۱.۰.۴۱.۱ موجود است. مدیران وب باید سایتهای خود را به این آخرین نسخه بهروزرسانی کنند.