PHP güvenlik ekibi 21 Ekim 2026’da saat 14.00 UTC’de iki uzaktan kod çalıştırma açığını kapatan sürümleri yayımladı. Düzeltmeler PHP 8.5.12, 8.4.27, 8.3.36 ve 8.2.35 sürümlerinde yer alıyor. Duyuru, yükseltmeyi tek tam önlem olarak tanımlıyor.
Açıklardan ilki CVE-2026-109618, bellek yetersizliği hatasının bıraktığı bozuk durumdan doğuyor. PHP, bellek yetersizliğinde longjmp() ile isteği terk ediyor ve istek belleği henüz tam kurulmamışken erişilebilir kalıyor. Kapanış prosedürü geçersiz veriyi geçerli sayıyor. Danışma belgesine göre gövde uzunluğu bildirilmeyen multipart istekler, sınırsız başlık taşıyan parçalar ve boş dosya alanları bu duruma ulaşmayı kolaylaştırıyor.
İkincisi CVE-2026-109619, aynı çalışan sürecin istekler arasında bayat küresel durum taşımasından kaynaklanıyor. Bir isteğe ait hata, oturum veya nesne durumu bellek serbest bırakıldıktan sonra da okunabiliyor. Sonraki istek normal başlatmayı beklemeden bu durumu tüketirse kullanım sonrası serbest açığı oluşuyor. Danışma belgesi, error_reporting ayarını değiştirmenin, @ operatörünün veya display_errors kapatmanın koruma sağlamadığını yazıyor.
Sunucu tarafında maruziyet farklılaşıyor. Apache mod_php, istek başlatma başarısız olsa da kapanış prosedürünü koşulsuz çağırıyor; danışma belgesi bu yüzden mod_php’yi koşulsuz savunmasız sayıyor. PHP-FPM başlatma hatasında çocuk süreci sonlandırıyor. Belge, FPM’i kaynak analizine göre savunmasız sayıyor ama tam bir FPM istismarı gösterilmediğini de ekliyor. FrankenPHP mod_php’ye, LSAPI ise FPM’e benziyor.
Ciddiyet tarafında Ars Technica iki açığın da puanını 10 üzerinden 9,2 olarak aktarıyor. GitHub danışma kayıtları ikisini de kritik olarak işaretliyor. Danışma belgesi güncellemeyi tek tam önlem sayıyor; güncelleyemeyen kurulumlar için memory_limit değerini -1 yapmayı geçici ayar olarak öneriyor ve bunun da tam koruma olmadığını belirtiyor.
Danışma belgesi ek önlemleri de sıralıyor. post_max_size değerini dar tutmak, çözülmüş istek boyutu, alan sayısı, multipart parça sayısı, başlık sayısı ve iç içe geçme derinliği için ön yüzde sınır koymak, multipart kullanılmıyorsa bu istekleri PHP’ye ulaşmadan kesmek. Danışma belgesi RLIMIT_AS ve RLIMIT_DATA sınırlarını önermiyor, çünkü bu sınırlar açığı tetikleyebiliyor.
Pratik sonuç şu. PHP, WordPress dahil yaygın içerik yönetim sistemlerinin çalıştığı ortam. Paylaşımlı ve yönetilen hosting kullanan siteler için güncelleme, sağlayıcının takvimine bağlı. php -v çıktısı 8.5.12, 8.4.27, 8.3.36 veya 8.2.35 sürümlerinin altındaysa yama yok demektir. Kaynak koddan derleyenler için PHP 7.4, 8.0 ve 8.1 dallarına ayrı yedek yamalar yayımlandı.
Duyurudan önce 8 Ekim 2026’da ön bildirim yayımlandı ve yama tarihi 21 Ekim olarak duyuruldu. Bu, güvenlik ekibinin süreci önceden haber verdiği anlamına geliyor. Aynı ön bildirim, saldırganlar için de iki haftalık hazırlık süresi demek.
İkinci açığın danışma kaydındaki vektör şöyle: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Vektör, ağ üzerinden erişimi ve yetki gerektirmeyen kullanımı gösteriyor; saldırı karmaşıklığı yüksek, saldırı gereksinimleri mevcut.
Danışma belgeleri bu açıkların sahada kullanıldığına dair kanıt sunmuyor. Açıkların ne zamandır mevcut olduğu da belgelerde yazmıyor.
