Yapay zekanın bulduğu kritik PHP açıkları kapandı, Japonya Başbakanı güncelleme çağrısı yaptı
PHP ekibi, kimlik doğrulaması olmadan sunucuda kod çalıştırmaya imkan veren iki kritik açığı kapatan sürümleri yayımladı. Açıkları Wiz, yapay zeka destekli araştırma aracıyla buldu; Japonya Başbakanı Sanae Takaichi de site sahiplerini hemen güncellemeye çağırdı.
PHP ekibi 21 Ekim 2026'da dil motorundaki iki kritik güvenlik açığını kapatan sürümleri yayımladı. PHP'nin güvenlik duyurusuna göre CVE-2026-109618 ve CVE-2026-109619 numaralı açıklar, kimlik doğrulaması gerektirmeden sunucuda uzaktan kod çalıştırmaya imkan veriyor. İki açık da CVSS v4.0 ölçeğinde 9,2 puanla kritik sınıfında. Açıkları bulan Wiz Research, çalışmayı yapay zeka destekli araştırma aracıyla yürüttüğünü PHP2Shell adını verdiği yazıda anlattı.
Açıklar yapay zekayla bulundu
Wiz'in yazısına göre açıklar, şirketin yapay zeka tabanlı güvenlik açığı araştırma aracı Wiz Atlas ile bulundu. Wiz, Google'ın Gemini 4 Argon modelinin açığın bulunmasından istismar geliştirmeye, saldırı tespitinden yamanın doğrulanmasına kadar önemli katkı verdiğini, OpenAI'ın GPT-5.6 Sol modelinin de araştırma boyunca kullanıldığını yazıyor. Şirket, modellerin istismarı farklı PHP sürümlerine, ayarlara ve bellek düzenlerine uyarlamada ve başarısız denemeleri çözümlemede yardımcı olduğunu belirtiyor. Wiz'e göre hatalar on yılı aşkın süredir PHP kodunda duruyordu.
Wiz'in paylaştığı takvimde ilk açık 19 Ağustos'ta bulundu; ertesi gün Drupal'a, 21 Ağustos'ta WordPress'e karşı kimlik doğrulamasız kod çalıştırma doğrulandı. Açıklar 24 Ağustos'ta PHP güvenlik ekibine bildirildi, PHP 21 Eylül'de düzeltme sürecini başlattı ve yamalar 21 Ekim'de yayımlandı. Çalışmada PHP ekibi, Calif ve OpenAI ile birlikte çalışıldı. Yamayı hemen uygulayamayanlar için Automattic, Akamai, AWS, Cloudflare, Fastly, Google, Imperva, Microsoft ve Vercel gibi şirketler kendi altyapılarında önlem hazırladı.
Açıkların etkisi
PHP'nin duyurusuna göre CVE-2026-109618, bellek yetmediğinde PHP'nin işi yarıda kesmesiyle ortaya çıkıyor: istekle ilgili iç veriler yarım kalırken temizlik aşaması bu bozuk veriyi geçerli sayabiliyor. CVE-2026-109619'da ise bir isteğe ait iç durum, belleği serbest bırakıldıktan sonra da kalabiliyor; aynı işçinin sonraki isteği bu bayat durumu kullanabiliyor. Wiz, aynı hatalarla sunucu belleğinin uzaktan okunabildiğini, bu bellekte başka isteklere ait parola, oturum anahtarı, API anahtarı ve sertifika bulunabileceğini de yazıyor.
Duyuruya göre web isteği karşılayan bütün PHP kurulumları etkileniyor: PHP-FPM, Apache mod_php, php-cgi, FrankenPHP ve LiteSpeed. En yüksek risk mod_php'de; PHP ekibi, kimlik doğrulamasız tek bir isteğin uygulama kodu çalışmadan saldırıyı tetiklediği bir istismarın gösterildiğini belirtiyor. Wiz de saldırının WordPress, Drupal ya da Joomla gerektirmediğini, etkilenen sürümdeki basit bir "Hello World" uygulamasının bile açık olabileceğini yazıyor.
Düzeltilmiş sürümler
- PHP 8.5 için 8.5.12
- PHP 8.4 için 8.4.27
- PHP 8.3 için 8.3.36
- PHP 8.2 için 8.2.35
PHP 8.1 ve daha eski sürümler artık PHP projesinden güncelleme almıyor; ekip 7.4, 8.0 ve 8.1 için GitHub'da asgari düzeltme dalları paylaştı. Linux dağıtımları ve uzun süreli destek veren firmalar yamaları önceden aldı, bu yüzden dağıtımın kendi paket güncellemesi de düzeltmeyi getiriyor. Test aşamasındaki PHP 8.6.0 RC4 da iki düzeltmeyi içeriyor.
Hemen güncelleyemeyenler için geçici önlemler
PHP ekibi, güncellemenin tek tam çözüm olduğunu vurgulayarak geçici önlemler de sıraladı. CVE-2026-109618 için memory_limit değerinin uygulamaların değiştiremeyeceği biçimde (FPM ya da Apache'de php_admin_value ile) -1 yapılmasını, post_max_size değerinin 8M'ye (dosya yükleme gerekiyorsa 32M'ye) indirilmesini, upload_max_filesize değerinin bunun altında tutulmasını ve istek boyutlarının web sunucusunda ya da vekil sunucuda sınırlanmasını öneriyor. CVE-2026-109619 için session.upload_progress.enabled=0 ayarının yapılıp bütün işçilerin yeniden başlatılmasını, PHP 8.5'te ayrıca fatal_error_backtraces=0 ayarını öneriyor.
Wiz, yama uygulanana kadar şu belirtilerin izlenmesini tavsiye ediyor: ardından bellek sınırı hatası gelen olağandışı çok parçalı (multipart) istekler, tekrarlanan HTTP 500 yanıtları, alışılmadık büyüklükte ya da bozuk PHPSESSID çerezleri ve açıklanamayan PHP işçisi yeniden başlamaları.
Hükümetlerden uyarı
Japonya Başbakanı Sanae Takaichi 21 Ekim akşamı X'teki paylaşımında site sahiplerini yamayı yayımlanır yayımlanmaz uygulamaya hazırlanmaya çağırdı; yamayı hemen uygulamanın zor olduğu durumlarda sitenin işlevlerini geçici olarak durdurmanın riski azaltmanın etkili bir yolu olduğunu söyledi (Jiji Press). Drupal güvenlik ekibi de kullanıcılarını yayımdan bir gün önce uyardı.
Güncelleme adımları
Sunucuda php -v komutuyla sürümü kontrol edin, dağıtımın paket yöneticisiyle ya da PHP'nin yeni sürümüyle güncelleyin; güncellemeden sonra PHP-FPM'i ve web sunucusunu yeniden başlatın. Paylaşımlı barındırma kullanıyorsanız güncellemenin yapılıp yapılmadığını sağlayıcınıza sorun. Docker kullanıyorsanız imajları yeni PHP tabanıyla yeniden oluşturun; eski imajla çalışan kapsayıcılar açık kalır.
Açıkların teknik ayrıntıları ve etki alanı şu an PHP ekibinin ve Wiz'in açıklamalarına dayanıyor. Wiz'in yazısı istismar kodu içermiyor. PHP'nin resmi duyurusu desteklenen dallar için düzeltilmiş sürümleri listelerken Wiz, açıkların PHP 5.4'e kadar uzanan sürümleri etkilediğini yazıyor; desteği biten sürümlerde çalışan siteler bu yüzden daha fazla risk altında. Açıkların yapay zekayla bulunması, benzer araçların saldırganların da elinde olabileceğini hatırlatıyor; yamayı ertelemek bu nedenle daha riskli. Gelişmeleri farklı açılardan görmek için bağımsız güvenlik araştırmacılarının değerlendirmelerini de takip edin.