
أداة استغلال لتنفيذ كود عن بُعد لـ CVE-2019-11043 تستهدف Nginx مع php-fpm. تتضمن ملفات ثنائية بلغة Go وملفات ثنائية مُجمَّعة مسبقًا للاستغلال لاختبار التهيئات الضعيفة.
وصف الثغرة
عند معالجة الطلبات التي تحتوي على %0a في fastcgi_split_path_info على NgiNginx، سيؤدي مواجهة رمز السطر الجديد \n إلى أن يصبح PATH_INFO فارغًا. ولدى php-fpm عند معالجة PATH_INFO فارغ، يوجد عيب منطقي. يمكن للمهاجم من خلال بناء واستغلال دقيق أن يؤدي إلى تنفيذ كود عن بعد. عند معالجة الطلبات التي تحتوي على %0a في fastcgi_split_path_info على nx، سيؤدي مواجهة رمز السطر الجديد \n إلى أن يصبح PATH_INFO فارغًا. ولدى php-fpm عند معالجة PATH_INFO فارغ، يوجد عيب منطقي. يمكن للمهاجم من خلال بناء واستغلال دقيق أن يؤدي إلى تنفيذ كود عن بعد.
نطاق التأثير
خوادم Nginx + php-fpm، عند استخدام التكوين التالي، قد تحتوي على ثغرة تنفيذ كود عن بعد.
location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ... } }
الحل
دون التأثير على الأعمال العادية، قم بحذف التكوين التالي من ملف تكوين Nginx:
fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;
يحتوي على اثنين من الاستغلالات (exp)، واحد بلغة Go والآخر هو exp مجمّع.
./phuip-fpizdam http://192.168.93.131:8080/index.php