Xdebug یک افزونهی متنباز PHP است که برنامهنویسان در محیطهای توسعه و آزمایش برای اشکالزدایی کد، بررسی عملکرد، ردیابی اجرای کد و غیره از آن استفاده میکنند. یک آسیبپذیری بحرانی از نوع تزریق فرمان سیستمعامل با شناسهی CVE-2015-10141 و شدت 9.3 در این افزونه شناسایی شده است که به مهاجم غیرمجاز امکان میدهد کد دلخواه PHP را از راه دور بر روی سرور اجرا کرده و کنترل کامل سرور را در دست بگیرد.
جزئیات آسیبپذیری
آسیبپذیری مذکور زمانی بروز میکند که قابلیت remote debugging فعال باشد. در این حالت، Xdebug روی پورت 9000 در حال گوشدادن است و بدون احراز هویت، فرمانهای دریافتی را براساس پروتکل دیباگر (دستوراتی مانند eval ،step_into ،breakpoint_set و غیره) پردازش میکند. در نسخههای آسیبپذیر، هیچگونه بررسی هویت مثل رمز، کلید یا IP مجاز انجام نمیشود؛ یعنی مهاجم میتواند از هرجایی به این پورت متصل شود و با ارسال فرمانی مانند eval، کد دلخواه خود را اجرا کرده و از طریق توابعی نظیر ()system یا ()passthru، فرمانهای سیستمعامل را پیادهسازی کند. این موضوع میتواند به نفوذ کامل به سرور و اجرای کد با سطح دسترسی کاربر سرویسدهندهی وب منجر شود.
بردار CVSS:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA
نشان میدهد مهاجم با بهرهبرداری از این آسیبپذیری، با دسترسی به پورت Xdebug از طریق شبکه، بهسادگی و بدون نیاز به احراز هویت، توابع سیستمی PHP را فراخوانی کرده و کنترل کامل سرور را در اختیار میگیرد.
نسخههای تحتتأثیر
-
Xdebug نسخهی 2.5.5 و تمامی نسخههای قبل از آن تحت تأثیر این آسیبپذیری قرار دارند.
توصیههای امنیتی
- ارتقاء Xdebug به نسخهای بالاتر از 2.5.5 که آسیبپذیری مذکور در آن برطرف شده است.
- غیرفعال کردن Remote Debugging در محیطهای غیرتوسعه.
- محدود کردن دسترسی به پورت 9000 فقط برای IPهای مجاز بهمنظور توسعه.
منابع خبر:
[2]https://www.cvedetails.com/cve/CVE-2015-10141
[3]https://nvd.nist.gov/vuln/detail/CVE-2015-10141
[4]https://www.cve.org/CVERecord?id=CVE-2015-10141
[5]https://euvd.enisa.europa.eu/vulnerability/CVE-2015-10141