Slide thumbnail

اخبار > آسیب‌پذیری اجرای کد از راه دور در PHP



یکی از محققان شرکت Wallarm هنگام حل یک چالش فتح پرچم، باگی را در PHP کشف کرد که می‌تواند در برخی پیکربندی‌های Nginx منجر به اجرای کد شود.

چالش‌های فتح پرچم (CTF)، نوعی بازی یا معما برای هکرها است تا توانایی‌های خود را آزمایش کنند و بهبود ببخشند. حل این معماها بیشتر از آنکه حل مشکلات واقعی امنیتی باشد، کاوش در محیطی شبیه‌سازی شده است. با این وجود، گاهی پیش می‌آید که شرکت‌کنندگان مشکلات امنیتی‌ای را کشف می‌کنند که حتی طراح سوال CTF هم از آن اطلاع ندارد. در یکی از رخدادهای این چنینی، اندرو دانائو (Andrew Danau) حین شرکت در مسابقه RealwordCTF باگی را در PHP کشف کرد.

این باگ به مهاجم اجازه می‌دهد تا کد دلخواه خود را روی سرور اجرا کند. این آسیب‌پذیری، که دارای شناسه CVE-2019-11043 است، در صورتی قابل بهره‌برداری است که وب سرور Nginx به همراه PHP-FPM مورد استفاده باشد. PHP-FPM ابزاری است که کمک می‌کند بعضی عملیات زمانبر سمت سرور سریعتر انجام شوند.

 

برای اینکه آسیب‌پذیری قابل بهره‌برداری باشد، باید در فایل پیکربندی Nginx چنین بلاکی وجود داشته باشد:

location ~ ['/]\.php(/|$) {
  ...
  fastcgi_split_path_info '(.+?\.php)(/.*)$;
  fastcgi_param PATH_INFO       $fastcgi_path_info;
  fastcgi_pass   php:9000;
  ...
}

در خط دوم، دستور fastcgi_split_path_info، URL وارد شده توسط کاربر (مهاجم) را می‌گیرد و با استفاده از آن متغیرهای PATH_INFO و SCRIPT_FILENAME را مقداردهی می‌کند. اگر یک کاراکتر newline (%0a) در URL وجود داشته باشد، متغیر اول، مقدار تهی می‌گیرد که در ادامه باعث سرریز بافر می‌شود. توضیحات مفصلتر را اینجا بخوانید.

این آسیب‌پذیری در نسخه‌های جدید PHP برطرف شده است. کاربران PHP 7.1، PHP 7.2 و PHP 7.3 به ترتیب می‌توانند نسخه PHP خود را به 7.1.33، 7.2.24 و 7.1.33 به‌روزرسانی کنند.


منبع: Wallarm


 

 


          

  

گروه خبری: اخبار ورویدادها / تاریخ: چهارشنبه ٨ آبان ١٣٩٨ /  ساعت: ١١:٠٧ تعداد نمایش: 90 /   کد خبر: ١٧٢١٨



نظرات بینندگان
این خبر فاقد نظر می باشد
نظر شما
نام :
ایمیل : 
*نظرات :
متن تصویر:
 

خروج




تقویم شمسی