#آسیب_پذیری جدید در وب سایتهای مبتنی بر PHPبر روی سرورهای NGINXکشف شده است.
اگر برای بهبود عملکرد و کارایی اینگونه وبسایتها، قابلیت PHP-FPMرا فعال کردهاید، بدانید که در معرض آسیبپذیری جدیدی قرار دارید که در آن مهاجمان غیرمجاز میتوانند از راه دور سرور وبسایت شما را هک کنند.
به این آسیبپذیری شناسه "CVE-2019-11043" اختصاص داده شده است و وبسایتهایی با پیکربندی خاصی از PHP-FPM(که ظاهراً غیرمعمول هم نیست) را تحت تأثیر قرار میدهد. قابلیت PHP-FPMپیادهسازی دیگری از PHP FastCGIاست که پردازشهایی پیشرفته و بسیار کارآمد را برای اسکریپتهای نوشته شده در زبان برنامهنویسی PHPارائه میدهد.
علت اصلی این آسیبپذیری، مشکل حافظه underflow"env_path_info" در ماژول PHP-FPMاست و ترکیب آن با سایر نقصها میتواند مهاجمان را قادر سازد تا از راه دور کد دلخواه خود را بر روی وبسرورهای آسیبپذیر اجرا کنند.
آسیبپذیری مذکور، توسط یک محقق امنیتی در Wallarmبه نام Andrew Danauدر زمان برگزاری یکی از مسابقات Capture The Flag(CTF)کشف شد و وی با همکاری دو تن از محققان دیگر به نامهای Omar Ganievو Emil Lernerتوانستند آن را به صورت یک اکسپلویت اجرای کد از راه دور توسعه دهند.
کدام یک از وبسایتهای مبتنی بر PHPدر برابر مهاجمان آسیبپذیرند؟
اگرچه اکسپلویت کد اثبات مفهومی (PoC) آسیبپذیری مورد بحث به صورت عمومی متتشر شده است اما به طور خاص برای هدف قرار دادن سرورهای آسیبپذیر در حال اجرای نسخههای PHP 7+طراحی شده است، با این وجود، نسخههای پیشین PHPنیز تحت تأثیر این آسیبپذیری قرار دارند.
به طور خلاصه، یک وبسایت آسیبپذیر خواهد بود اگر:
پیکربندی آسیبپذیر NGINXو PHP-FPMمیتواند به صورت زیر باشد:
در این مثال، از دستور " fastcgi_split_path_info" برای تقسیم URLصفحات PHPوب به دو بخش استفاده میشود، بخش اول یک موتور PHP-FPMبرای فهمیدن نام اسکریپت و بخش دوم شامل اطلاعات مسیر آن است.
اکسپلویت اجرای کد از راه دور در PHP FPMچگونه عمل میکند؟
به گفته محققان، عبارتی که دستور " fastcgi_split_path_info" را تعریف میکند، با استفاده از کاراکتر خط جدید میتواند به گونهای دستکاری شود که در نهایت تابع تقسیم کننده URLتمامی اطلاعات مسیر را خالی کند.
در مرحله بعد، از آنجا که یک اشارهگر محاسباتی در کد FPMوجود دارد که به اشتباه " env_path_info" را بدون تأیید وجود فایلی بر روی سرور، یک پیشوند مساوی با مسیر اسکریپت phpتلقی میکند، این مسئله میتواند توسط یک مهاجم برای بازنویسی دادهها در حافظه با درخواست URLهای خاص ساخته شده از وبسایتهای مورد هدف اکسپلویت شود.
برای مطالعه کامل کلیک نمایید
نظرات