مطالب مطالب

بررسی سه آسیب پذیری مهم در سیستم مدیریت محتوا Drupal

1    ماژول Webform Multiple File Upload

::: معرفی
    ::: پروژه: Webform Multiple File Upload (ماژول/ افزونه)
    ::: آسیب‌پذیری: اجرای کد PHP دلخواه (Remote Code Execution)
    ::: شماره گزارش آسیب پذیری: SA-CONTRIB-2016-040

::: توضیحات
    ماژولِ Webform Multiple File Upload به کاربر اجازه می‌دهد تا چندین فایل را در یک فرم تحت وب آپلود کند. این ماژول یک آسیب‌پذیریِ اجرای کد از راه دور(RCE)  دارد؛ آن‌جا که محتوای فرم از حالت serialized  خارج می‌شود و در نتیجه ورودی‌های خاصی که ممکن است ارسال شوند، می‌توانند به اجرای کد PHP با توجه به libraryهای در دسترس روی سایت منجر شوند.
    این آسیب‌پذیری با این واقعیت پیوند خورده است که نفوذگر می‌بایستی امکان این را داشته باشد تا فرمی که حاویِ ورودیِ Multiple File Upload است را ارسال کند. همین‌طور، سایت باید یک Object با روشی روی wake یا destroy کدِ include شده که می‌تواند برای مقاصد نامناسب استفاده شود، تعریف داشته باشد. هسته‌ی دروپال7 یک کلاس به این شکل داراست که می‌تواند برای حذفِ فایل‌های دلخواه استفاده گردد، اما کلاس‌های شخصی‌سازی شده، ممکن است حاوی متدهایی باشند که می‌توانند برای باگ RCE مورد استفاده قرار گیرند.

نکته: این آسیب‌پذیری در ماژولِ Webform Multiple File Upload(webform_multifile) وجود دارد. یک ماژول با نام مشابهی نیز وجود دارد Webform Multiple File(webform_multiple_file) که این مشکل را دارا نیست.

::: نسخه های تحت تأثیر
    هسته‌ی دروپال تحت تاثیر این آسیب‌پذیری نیست. اگر شما از ماژول  Webform Multiple File Upload استفاده نمی‌کنید، نیازی به انجام کاری نیست. اما نسخه آسیب پذیر این ماژول عبارتند از:
•    Webform Multifile 7.x-1.x versions prior to 7.x-1.4

::: راه حل
    آخرین نسخه را نصب کنید. اگر از ماژول Webform Multifile برای دروپال نسخه 7.x استفاده می‌کنید، به Webform Multiple File Upload  نسخه‌ ی 7.x-1.4 آپدیت کنید.

    گزارش شده توسط Ben Dougherty
    حل شده توسطJelle Sebreghts  و Peter Droogmans  از پشتیبانی ماژول دروپال
    یافتن باگ در کد توسطBen Dougherty  و Greg Knaddison از تیم امنیتی دروپال


2    ماژول Coder

::: معرفی
    ::: پروژه:  Coder(ماژولِ افزودنی)
    ::: آسیب‌پذیری: اجرای کد PHP دلخواه (Remote Code Execution)
    ::: شماره گزارش آسیب پذیری: SA-CONTRIB-2016-040

::: توضیحات
    ماژول Coder کدِ دروپالِ شما را برای استانداردها و دیگر بهینه‌سازی‌ها چک می‌کند. همانطور می‌تواند اشتباهات استانداردهای کدنویسی را نیز تصحیح کند و روی ماژول‌ها، یک‌سری بهینه‌سازی اساسی انجام دهد.
    این ماژول به صورتِ صحیح، ورودی‌های کاربر را در فایل اسکریپتی که پسوندِ PHP دارد بررسی نمی‌کند. یک کاربرِ Login نکرده و یا نفوذگر می‌تواند به صورت مستقیم به این فایل درخواست فرستاده و کد PHP دلخواه اجرا کند.
    هیچ فاکتورِ محدودکننده‌ای وجود ندارد. ماژول حتی نیاز به فعال بودن برای اکسپلویت‌شدن ندارد! وجود فایل روی سرور و این‌که از روی وب قابل دسترسی باشد کافیست.

::: نسخه های تحت تأثیر
•    Coder module 7.x-1.x versions prior to 7.x-1.3
•    Coder module 7.x-2.x versions prior to 7.x-2.6
    هسته‌ی دروپال تحت تاثیر این آسیب‌پذیری نیست. اگر شما از ماژول Coder استفاده نمی‌کنید، نیازی به انجام کاری نیست.

::: راه حل
    دو راه موجود است.
راه اول این‌است که ماژول را از همه‌ی سایت‌هایی که در دسترس عموم هستند پاک کنید:
•    ماژول Coder برای استفاده در محیط توسعه ساخته شده است و قرار نیست روی سرورهایی با دسترسی عمومی قرار داشته باشد. در نتیجه، یک راه ساده این است که کل دایرکتوری ماژولِ Coder را از روی همه‌ی وب‌سایت‌های با دسترسی عمومی پاک کنید.
انتخاب دوم این است که آخرین نسخه را نصب کنید:
•    اگر از ماژول Coder برای دروپال 7.x استفاده می‌کنید، به Coder نسخه‌ی 7.x-1.3 یا 7.x-2.6 آپدیت کنید.

    گزارش شده توسط Nicky Bloor
    حل شده توسطDavid Rothstein و Jim Berry از پشتیبانی ماژول دروپال
    یافتن باگ در کد توسط Michael Hess و Greg Knaddison وKlaus Purer از تیم امنیتی دروپال

 

 


3    ماژول RESTful Web Services

::: معرفی
    ::: پروژه:  RESTful Web Services(ماژولِ افزودنی)
    ::: آسیب‌پذیری: اجرای کد PHP دلخواه (Remote Code Execution)
    ::: شماره گزارش آسیب پذیری: SA-CONTRIB-2016-040

::: توضیحات
    این ماژول به شما این امکان را می‌دهد تا نهادهای دروپال را به صورت وب‌سرویسِ RESTful نمایش دهید. RESTWS صفحه‌ی پاسخِ پیش‌فرضِ نهادها را تغییر می‌دهد تا امکاناتی را به آن بیافزاید. یک آسیب‌پذیری در این رویکرد به نفوذگر اجازه می‌دهد تا با ارسالِ درخواست‌هایی با محتوایی خاص، به اجرای کد دلخواه PHP برسد. هیچ فاکتورِ محدودکننده‌ای وجود ندارد. این آسیب‌پذیری می‌تواند تحت سطح‌دسترسیِ کاربرِ معمولی سایت (بازدید‌کننده) اکسپلویت شود.

::: نسخه های تحت تأثیر
•    RESTful Web Services 7.x-2.x versions prior to 7.x-2.6.
•    RESTful Web Services 7.x-1.x versions prior to 7.x-1.7.
    هسته‌ی دروپال تحت تاثیر این آسیب‌پذیری نیست. اگر شما از ماژول  RESTful Web Services استفاده نمی‌کنید، نیازی به انجام کاری نیست.


::: راه حل
    آخرین نسخه را نصب کنید.
•    اگر از ماژول RESTful Web Services برای دروپال7.x  استفاده می‌کنید، به RESTful Web Services نسخه‌ی  7.x-2.6آپدیت کنید.
•    اگر از ماژول RESTful Web Services برای دروپال7.x  استفاده می‌کنید، به RESTful Web Services نسخه‌ی  7.x-1.7آپدیت کنید.

    گزارش شده توسط Devin Zuczek
    حل شده توسط Klaus Purer و Wolfgang Ziegler از پشتیبانی ماژول دروپال
    یافتن باگ در کد توسط  Greg KnaddisonوKlaus Purer از تیم امنیتی دروپال

 

تصاویر مرتبط
تاریخ انتشار مطلب: 31 مرداد 1395
بازدید ها: 1191