کشف آسیب‌پذیری در PHP-Charts v1.0

کشف آسیب‌پذیری در PHP-Charts v1.0

تاریخ ایجاد

PHP-Charts یک کتابخانه متن‌باز مبتنی بر PHP است که به توسعه‌دهندگان امکان تولید انواع نمودارهای آماری و گرافیکی را به‌سادگی و بدون نیاز به دانش پیشرفته در زمینه گرافیک می‌دهد. PHP-Charts به دلیل سادگی پیاده‌سازی و خروجی‌های قابل سفارشی‌سازی، در بسیاری از وب‌سایت‌های شخصی، پنل‌های مدیریتی و ابزارهای داشبورد داده مورد استفاده قرار می‌گیرد. اخیراً در نسخه‌ی 1.0 این کتابخانه، آسیب‌پذیری با شناسه‌ی CVE-2013-10070 و شدت 10 شناسایی شده است که می‌تواند امنیت کل سرور را تحت تاثیر قرار دهد.

 

جزئیات آسیب‌پذیری

در نسخه‌ی 1.0 از PHP-Charts، فایل wizard/url.php به گونه‌ای طراحی شده که نام پارامترهای ارسال‌شده از طریق متد GET مستقیماً بدون اینکه هیچ‌گونه اعتبارسنجی، فیلتر یا مکانیزم امن‌سازی روی آن‌ها اعمال شود، به تابع ()eval در PHP منتقل می‌شوند. مهاجم می‌تواند از این نقص بهره‌برداری کرده و با ارسال یک درخواست HTTP مخرب، نام پارامتر را به‌گونه‌ای تعریف کند که شامل یک بار مخرب باشد. معمولاً این بار به صورت base64 رمزگذاری شده و سپس توسط ()eval رمزگشایی و اجرا می‌شود. این فرآیند به مهاجم اجازه می‌دهد تا کد PHP دلخواه خود را روی سرور اجرا کند. از آنجا که این کد تحت سطح دسترسی وب‌سرور اجرا می‌شود، مهاجم می‌تواند به فایل‌های سرور دسترسی یافته، دستورات سیستمی اجرا کرده، بدافزار بارگذاری کند یا به اطلاعات حساس دست یابد.

بردار CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H نشان‌دهنده‌ی یک آسیب‌پذیری بحرانی است که بهره‌برداری از آن از راه دور و بدون نیاز به تعامل کاربر امکان‌پذیر است. مهاجم می‌تواند با پیچیدگی پایین و بدون احراز هویت، از این نقص امنیتی سوءاستفاده کرده و محرمانگی، یکپارچگی، در دسترس بودن و حتی امنیت سیستم را به‌طور کامل به خطر اندازد. تأثیر این آسیب‌پذیری در همه ابعاد سیستمی حداکثر ممکن ارزیابی شده است، به طوری که بهره‌برداری موفق می‌تواند منجر به اجرای کد دلخواه، تخریب داده‌ها، افشای اطلاعات حساس و در نهایت تسلط کامل بر سرور هدف گردد.

 

نسخه‌های تحت‌تأثیر

  • PHP-Charts نسخه‌ی 1.0 و سایر نسخه‌هایی که شامل فایل wizard/url.php با طراحی مشابه هستند تحت تاثیر این آسیب‌پذیری قرار دارند.

 

توصیه‌های امنیتی

  • به‌روزرسانی PHP-Charts به آخرین نسخه امن
  • غیرفعال نمودن یا محدود کردن اجرای مستقیم اسکریپت‌های غیرضروری مانند wizard/url.php در تنظیمات وب‌سرور (nginx.conf ،httpd.conf، htaccess)
  • غیرفعال‌سازی توابع خطرناک PHP مانند proc_open ،popen ،shell_exec ،passthru ،passthru ،exec ،eval در فایل تنظیمات PHP (php.ini)

 

منابع خبر:

[1]https://nvd.nist.gov/vuln/detail/CVE-2013-10070

[2]https://www.cve.org/CVERecord?id=CVE-2013-10070

[3]https://euvd.enisa.europa.eu/vulnerability/CVE-2013-10070

[4]https://www.exploit-db.com/exploits/24201