Windows için PHP’de yeni bir uzaktan kod yürütme (RCE) güvenlik açığı açıklandı; sürüm 5.x’ten bu yana tüm sürümleri etkileyen ve potansiyel olarak dünya çapında çok sayıda sunucuyu etkileyen bir güvenlik açığı ortaya çıktı.
PHP, web geliştirme için tasarlanmış ve hem Windows hem de Linux sunucularında yaygın olarak kullanılan, yaygın olarak kullanılan açık kaynaklı bir kodlama dilidir.
CVE-2024-4577 olarak takip edilen yeni RCE kusuru, 7 Mayıs 2024’te Devcore Baş Güvenlik Araştırmacısı Orange Tsai tarafından keşfedildi ve bunu PHP geliştiricilerine bildirdi.
PHP proje sorumluları dün güvenlik açığını gideren bir yama yayınladı.
Ancak bu kadar büyük ölçekli bir dağıtıma sahip bir projede güvenlik güncellemelerinin uygulanması karmaşıktır ve potansiyel olarak önemli sayıda sistemi uzun süre boyunca saldırılara karşı savunmasız bırakabilir.
Ne yazık ki birçok cihazı etkileyen kritik bir güvenlik açığı ortaya çıktığında, tehdit aktörleri ve araştırmacılar hemen güvenlik açığı bulunan sistemleri bulmaya çalışıyor.
CVE-2024-4577 için de durum aynı; Shadowserver Foundation zaten savunmasız sunucuları tarayan birden fazla IP adresi tespit etti.
CVE-2024-4577 kusuru
CVE-2024-4577 kusuru, karakter kodlama dönüşümlerinin, özellikle de PHP’nin CGI modunda kullanıldığı Windows’taki ‘En İyi Uyum’ özelliğinin ele alınmasındaki bir dikkatsizlikten kaynaklanmaktadır.
Bir DevCore tavsiyesi şöyle açıklıyor: “PHP’yi uygularken ekip, Windows işletim sistemindeki kodlama dönüştürmenin En İyi Uyum özelliğini fark etmedi.”
“Bu gözetim, kimliği doğrulanmamış saldırganların belirli karakter dizileriyle CVE-2012-1823’ün önceki korumasını atlamasına olanak tanıyor. Argüman ekleme saldırısı aracılığıyla uzak PHP sunucularında rastgele kod çalıştırılabilir.”
Bu kusur, PHP ekibinin geçmişte CVE-2012-1823 için uyguladığı ve düzeltilmesinden birkaç yıl sonra kötü amaçlı yazılım saldırılarında istismar edilen korumaları atlatıyor.
Analistler, PHP CGI modunda yapılandırılmamış olsa bile, PHP yürütülebilir dosyaları (örneğin, php.exe veya php-cgi.exe) sunucu tarafından erişilebilen dizinlerde olduğu sürece CVE-2024-4577’nin hala sömürülebileceğini açıklıyor. Web sunucusu.
Bunun Windows için XAMPP’deki varsayılan yapılandırma olması nedeniyle DEVCORE, Windows’taki tüm XAMPP yüklemelerinin büyük olasılıkla savunmasız olduğu konusunda uyarıyor.
Geleneksel Çince, Basitleştirilmiş Çince ve Japonca dahil olmak üzere bu kodlama dönüştürme hatasına daha duyarlı olan belirli konumlar kullanıldığında sorun daha da kötüleşiyor.
Devcore, CVE-2024-4577 güvenlik açığının Windows için PHP’nin tüm sürümlerini etkilediğini söylediği gibi, PHP 8.0 (Yaşam Sonu), PHP 7.x (EoL) veya PHP 5.x (EoL) kullanıyorsanız, ikisinden birine ihtiyacınız var: Daha yeni bir sürüme yükseltmek veya aşağıda açıklanan azaltıcı etkenleri kullanmak için.
İyileştirme stratejisi
Desteklenen PHP sürümlerini kullananlar, yamaları içeren sürümlere yükseltme yapmalıdır: PHP 8.3.8, PHP 8.2.20 ve PHP 8.1.29.
Hemen yükseltilemeyen sistemler ve EoL sürümlerinin kullanıcıları için, saldırıları engellemek amacıyla aşağıdaki gibi bir mod_rewrite kuralının uygulanması önerilir:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? – [F,L]
XAMPP kullanıyorsanız ve PHP CGI özelliğine ihtiyacınız yoksa, Apache yapılandırma dosyasında (genellikle ‘C:/xampp/apache/conf/extra/httpd-xampp.conf’ konumunda) ‘ScriptAlias’ yönergesini bulun ve yorum yapın. .
Yöneticiler PHP-CGI kullanıp kullanmadıklarını phpinfo() işlevini kullanarak ve ‘Sunucu API’si‘ çıktıdaki değer.
DEVCORE ayrıca sistem yöneticilerinin CGI’dan FastCGI, PHP-FPM ve Mod-PHP gibi daha güvenli alternatiflere geçmeyi düşünmelerini öneriyor.