· kaynak dev.to (home feed)
Sızıntı sonrası erken yamalanan iki kritik PHP açığı, güncellenmeyen sunucuları RCE'ye açık bırakıyor
Kimlik doğrulaması gerektirmeyen uzaktan kod çalıştırmaya imkân veren iki kritik PHP çekirdek açığı, ayrıntılar sızdıktan sonra aceleye getirilen bir sürümle yamalandı. Saldırı girişimleri ardından geldi; güncellenmeyen sunucuların artık ele alınması gerekiyor.

Sızıntı PHP'nin elini zorladı
20 Ekim 2026 Pazartesi günü, planlanmış koordineli açıklamanın öncesinde PHP çekirdeğindeki iki kritik açığın ayrıntıları ortaya çıktı. PHP ekibi bunun üzerine güvenlik sürümünü bir gün öne çekti ve dev.to'daki bir yazıya göre düzeltmeleri 21 Ekim Çarşamba günü yayımladı. Araştırmacılar bu iki hataya PHP2Shell adını verdi.
Açıklar CVE-2026-109618 ve CVE-2026-109619 olarak takip ediliyor ve her biri CVSS v4.0 altında 10 üzerinden 9.2 puan aldı. Yazıya göre hesabı ve kimlik bilgisi olmayan bir saldırgan, hazırlanmış bir HTTP isteği göndererek savunmasız bir web sunucusunda keyfi kod çalıştırabiliyor; kurbanın herhangi bir işlem yapması gerekmiyor.
Hatalar runtime'da, uygulamanızda değil
İki açık da PHP'nin her web isteğini hazırlamak ve temizlemek için kullandığı mekanizmada yer alıyor; açıkları bu kadar geniş kapsamlı yapan da bu: savunmasız kod, uygulamanın kendi kodunun kendini savunma şansı bulmasından önce çalışıyor.
İlk hata, PHP iç istek verilerini kurarken belleğin tükenmesi durumunda tetikleniyor. Yazıda alıntılanan Cisco Talos, sonucu şöyle tarif ediyor: temizleme rutinleri daha sonra hiç tam olarak başlatılmamış veriyi geçerliymiş gibi ele alıyor. Saldırganın kod çalıştırmaya yönlendirebildiği de bu bellek karışıklığı.
İkinci hata bunun yakın akrabası. İsteğe özgü durum, onu taşıyan bellekten daha uzun süre dayanabiliyor; böylece PHP-FPM veya Apache mod_php altındaki uzun ömürlü aynı worker sürecinin ardından ele aldığı bir istek, normal kurulum sıfırlamadan önce bayat duruma erişebiliyor. Ölü bellek canlı muamelesi görüyor ve saldırgan bu pencereden yararlanabiliyor.
İki hata da uygulamada bir hataya ihtiyaç duymuyor. Temiz, gözden geçirilmiş ve tamamen yamalanmış kod bile bozuk bir runtime üzerinde çalışıyor olabilir.
CMS'inizi güncellemek bunu çözmüyor
İlk dalga haber kapsamının gözünden kaçtığı nokta, yazının vurguladığı gibi şu: PHP; WordPress, Drupal, Joomla, Laravel uygulamalarının ve sayısız satıcı aracının altyapısını oluşturuyor ve bu uygulamaları güncellemek yalnızca uygulama katmanını güncelliyor, altındaki dili değil.
ABD siber güvenlik kurumu CISA etkilenen yapılandırmaları net biçimde listeliyor: mod_php ile Apache, PHP-FPM, php-cgi, FrankenPHP ve LiteSpeed. En yüksek riski Apache mod_php olarak işaretliyor; çünkü burada gösterilen exploit, herhangi bir site kodu çalışmadan tetikleniyor.
Pratik zorluk, her PHP kurulumunu bulmak. PHP; aylar eski Docker imajlarının içinde, adını hiç anmayan satıcı yazılımlarının içinde ve unutulmuş hosting hesaplarında gizli. CISA da aynı noktaya değinerek PHP'nin çoğu zaman başka yazılımların bir bileşeni olduğunu ve varlığının doğrudan görünmeyebildiğini belirtiyor. İlk adım yama değil, envanter.
Düzeltilmiş sürümler ve insanların atladığı yeniden başlatma adımı
Desteklenen dallar için düzeltilmiş sürümler şunlar:
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
Öneri, paniğe kapılıp dal değiştirmek yerine zaten çalıştırdığınız dalın düzeltmesini kurmak; çünkü dal değişikliği uygulamaları bir yama sürümünün bozmaması gereken biçimlerde bozabilir.
İnsanların en çok atladığı adım, ardından her PHP worker'ını yeniden başlatmak. PHP-FPM havuzları, mod_php altındaki Apache ve kuyruk worker'ları, yeniden başlatılana kadar eski, savunmasız kodu bellekte tutuyor. Eski bir worker hâlâ isteklere hizmet verirken diske yamayı kurmanın hiçbir işe yaramaz.
PHP 8.1 ve önceki sürümler için resmî bir yama yok; o dallar destek dışı. CISA'ya göre dürüst seçenekler, desteklenen bir dala yükseltmek ya da PHP tabanlı sistemi yamalanana kadar çevrimdışı almaktır. Bir web application firewall bazı girişimleri engelleyebilir; ancak hem PHP ekibi hem CISA net konuşuyor: tam çözüm yamadır, çünkü bir firewall kuralı bir varyantı kaçırabilirken yamalanmış bir runtime bu iki açık üzerinden hiç istismar edilemez.
Saldırı girişimleri var ama doğrulanmış ihlal yok
Erken saldırı girişimlerine dair raporlar, Cloudflare'den gelenler de dahil olmak üzere yamadan hemen önce ve hemen sonra dolaştı. Nüans önemli: CISA, uyarısı itibarıyla sahadaki başarılı bir istismar gözlemlemediğini bildirdi. Girişimler doğrulanmış izinsiz girişler değil; ama girişimle başarı arasındaki boşluğu kapatan şey tam olarak yamadır.
Bir yapay zekâ dipnotu
Yazıda ayrıca, Wiz'deki bir ekip dahil araştırmacıların, insan araştırmacıların pratik değil diye görmezden gelebilecek kadar karmaşık bir exploit zincirini izlemelerine ve doğrulamalarına öncü yapay zekâ modellerinin yardımcı olduğunu belirttiği aktarılıyor. Hatanın PHP 5.4 dönemine kadar geri gittiği bildiriliyor. Bunun önemi, yapay zekânın geceden her hatayı bulması değil; zor ve eski hataları bulmanın maliyetinin düşmesi, dolayısıyla savunucuların tepki verme penceresinin daralması.
Neden önemli
PHP2Shell, runtime açıklarının bir uygulamaya yazılmış her savunmayı baypas ettiğinin hatırlatıcısı. Yığının iki katmanı, uygulama ve dil, farklı kişilerce farklı zamanlarda yamalanıyor; ve ilkinin ikisini kapsadığını varsaymak, sunucuları kimlik doğrulamasız kod çalıştırmaya açık bırakıyor. Saldırı girişimleri çoktan dolaşıyorken, destek dışı dallar çevrimdışı kal ya da yükselt kararıyla karşı karşıyayken ve hatanın bellekten gerçekten temizlenmesi için worker'ların yeniden başlatılması gerekirken, yama disiplini yönetici angaryasından çekirdek güvenlik duruşuna taşındı. Risk, bir yamanın kullanılabilir olmasıyla her yerde kurulumu ve her worker'ın yeniden başlatılması arasındaki mesafede yaşıyor.
- #php
- #security
- #vulnerabilities
- #patching
- #remote-code-execution
İlgili yazılar
- PHP, erken açık ifşasının ardından dört dalda iki kritik RCE açığını yamaladı
- PHP kimlik doğrulaması gerektirmeyen RCE açıklarını yamaladı, Foundation güvenlik yönetimindeki başarısızlığı kabul etti
- k0t edge cihaz kampanyası Fortinet ve Palo Alto açıkları üzerinden 70.000'den fazla kimlik bilgisini açığa çıkardı