Geçtiğimiz ay Andrew Danau adındaki bir güvenlik araştırmacısı bir CTF görevi üzerinde çalışırken php-fpm ile çalışan bir sunucuya url içinde %0a(newline) karakterini göndermeyi denediğinde beklediğinin dışında bir yanıt aldığını gözlemlemiş ve bunun üzerine php-fpm’de uzaktan kod çalıştırmaya yarayan bir açık keşfetmişti.

Bu açık geçtiğimiz hafta php7.2 ve php7.3 sürümleri için kapatıldı. Açığın ortaya çıkmasını sağlayan koşullar ise şunlar:

  • php-fpm’in nginx ile birlikte çalışıyor olması
  • fpm konfigürasyonunda fastcgi_split_path_info değerinin ^ ile başlayıp $ ile bitmesi
  • fastcgi_param bağlamında PATH_INFO değerinin tanımlı olması
  • try_files $uri =404 benzeri bir kontrolün olmaması.

Aşağıda bu duruma uygun bir konfigürasyon yer almaktadır:

php-fpm'de çıkan açık kapatıldı 2
Açığa yol açabilen bir örnek fpm konfigürasyonu

Açığı denemek istiyorsanız şu github reposunu inceleyebilirsiniz.

Kaynaklar:

Yorum Gönderin