PHP, 8.2 ile 8.5 arasındaki resmi Windows paketlerini, Brotli sıkıştırma kütüphanesinde bulunan CVE-2026-111497 güvenlik açığını düzeltmek amacıyla yeniden yapılandırdı. Bu açık, bir saldırganın belleği bozmasına ve potansiyel olarak kötü niyetli kod çalıştırmasına olanak tanıyor.
Brotli Güvenlik Açığı ve Etkileri
Bu güvenlik açığı, cURL eklentisi aracılığıyla erişilebiliyor. cURL, HTTP yanıtlarını otomatik olarak dekomprese ederken bu açığı kullanma imkanı sunuyor. Ancak, cURL varsayılan olarak bu özelliği kapalı tutuyor; yine de bazı uygulamalar ve HTTP istemci kütüphaneleri bu özelliği açabiliyor.
Yeniden yapılandırılan paketler, 8.5.12-1, 8.4.27-1, 8.3.36-1 ve 8.2.35-1 numaralarıyla sunuluyor. Bu güncellemeler, 21 Ekim'de yayınlanan iki PHP2Shell uzaktan kod yürütme açığını kapatan güncellemelerin ardından sadece beş gün sonra geldi. Yenilenen paketler, aynı PHP kaynağını kullandıkları için önceki düzeltmeleri de içeriyor ve şimdi Brotli 1.2.1 sürümünü barındırıyor.
Güncelleme Nasıl Yapılır?
PHP, Windows kullanıcılarına yeni sürümleri indirmeleri için resmi indirme sayfasını ziyaret etmelerini öneriyor. PHP sürümü değişmediği için, php -v komutu ile kontrol edildiğinde sürüm numarası aynı kalıyor. Dosya adındaki -1, yeni yapıyı tanımlamak için kullanılıyor.
Otomatik dekompresyon, cURL'ün sunucudan sıkıştırılmış bir yanıt istemesi ve bunu açması anlamına geliyor. PHP kodunda, CURLOPT_ENCODING seçeneği bu özelliği aktif hale getiriyor ve boş bir değer, cURL'ün desteklediği her formatı kabul ediyor.
Guzzle Kütüphanesi ve Güvenlik Açığı
Guzzle, PHP için bir HTTP istemci kütüphanesi olup, cURL üzerinden gönderdiği isteklerde varsayılan olarak bu boş değeri ayarlıyor. Guzzle'ın 7.16.1 ve 8.3.1 sürümlerindeki kodlar, bu açığın ulaşılabilirliğini artırıyor. Saldırı, PHP uygulamasının iletişim kurduğu bir sunucudan hazırlanmış sıkıştırılmış bir yanıt şeklinde gerçekleşiyor.
Google, bu açığı CVSS 4.0 ölçeğinde 10 üzerinden 9.2, Red Hat ise CVSS 3.1 ölçeğinde 8.1 olarak değerlendiriyor. OpenAI araştırmacıları bu açığı tespit etti ve Google, Brotli 1.2.1, 1.1.1 ve 1.0.10 sürümlerinde düzeltmeler yaptı. Node.js ve diğer yazılımlar da kendi Brotli kopyalarını güncelledi.
Güncelleme Yapamayanlar İçin Öneriler
PHP'nin duyurusunda, henüz güncellenemeyen sistemler için herhangi bir geçici çözüm sunulmamış durumda. OpenAI, güncelleme yapılana kadar HTTP istemcilerinde otomatik Brotli dekompresyonunu kapatmayı öneriyor. Bu, CURLOPT_ENCODING ayarını yapmamayı ve Guzzle'da decode_content isteğini false olarak ayarlamayı içeriyor. Bu sayede, gzip yanıtları da sıkıştırılmış olarak alınabiliyor.
Sonuç olarak, PHP kullanıcılarının güvenlik açığını kapatmak için güncellemeleri derhal yapmaları öneriliyor. Bu tür güncellemeler, uygulamaların güvenliğini artırmak ve olası saldırılara karşı koruma sağlamak açısından kritik öneme sahip.





Yorumlar 0
Yorum kurallarıHenüz yorum yok. İlk yorumu siz yapın.