Demo Talep Et
Güvenlik

PHP2Shell: PHP'de kritik uzaktan kod çalıştırma açığı (CVE-2026-109618, CVE-2026-109619)

PHP çalışma zamanındaki iki kritik açık kimlik doğrulamasız kod çalıştırmaya izin veriyor. Etkilenen sürümler, düzeltilmiş sürümler ve sunucularınız için adım adım kontrol listesi.

Boran Yazılım·25 Ekim 2026
PHP2Shell güvenlik uyarısı: CVE-2026-109618 ve CVE-2026-109619, CVSS 9.2; terminalde PHP 8.4.26'dan 8.4.27'ye güncelleme

PHP2Shell, PHP çalışma zamanının kendisinde bulunan ve 21 Ekim 2026'da yamalanan iki kritik uzaktan kod çalıştırma (RCE) açığının ortak adıdır: CVE-2026-109618 ve CVE-2026-109619. İkisi de CVSS v4.0 ile 9.2 puan aldı ve kimlik doğrulaması gerektirmeden sunucuda kod çalıştırmaya imkân tanıyor. Açık uygulama kodunda değil PHP'nin kendisinde olduğu için, kodu ne kadar güvenli yazılmış olursa olsun web istekleri karşılayan her PHP kurulumu kapsamda.

İki açık ne yapıyor?

CVE-2026-109618, PHP'nin bir isteği hazırlarken (form verisini, yani $_POST'u ayrıştırırken) bellek sınırına takılmasıyla ortaya çıkan bir bellek bozulması hatasıdır. Saldırgan, bellek sınırını aşacak boyutta hazırlanmış kimlik doğrulamasız bir POST isteği gönderir. İstek, uygulama kodu çalışmadan önce işlendiği için uygulama tarafındaki giriş kontrolü saldırıyı durduramaz.

CVE-2026-109619 ise bir PHP worker'ının istekler arasında taşıdığı durum verisinde bulunan bir use-after-free hatasıdır: önceki isteğe ait, serbest bırakılmış bellek bir sonraki istek tarafından kullanılabilir. Datadog'un analizine göre varsayılan olarak açık gelen session upload progress özelliği bu yolu mod_php ve PHP-FPM üzerinde istismar edilebilir kılıyor.

Hangi sürümler etkileniyor?

  • PHP 8.5: 8.5.12 öncesi (düzeltilmiş sürüm: 8.5.12)
  • PHP 8.4: 8.4.27 öncesi (düzeltilmiş sürüm: 8.4.27)
  • PHP 8.3: 8.3.36 öncesi (düzeltilmiş sürüm: 8.3.36)
  • PHP 8.2: 8.2.35 öncesi (düzeltilmiş sürüm: 8.2.35)
  • PHP 7.4, 8.0 ve 8.1: resmî sürüm yok; PHP kaynak kod yamaları yayımladı, dağıtım/LTS paketleri ya da desteklenen bir sürüme geçiş gerekiyor
  • PHP 7.3 ve öncesi: düzeltme yok, desteklenen bir sürüme geçmek gerekiyor

Etkilenen çalışma biçimleri arasında Apache mod_php, PHP-FPM, php-cgi, LiteSpeed ve FrankenPHP var. En yüksek risk mod_php'de: tek bir kimlik doğrulamasız istek, uygulama kodu devreye girmeden saldırıyı tetikleyebiliyor.

Zaman çizelgesi

Açıkların ayrıntıları 22 Ekim'de planlanan duyurudan önce, 20 Ekim 2026'da sızdı. PHP düzeltilmiş sürümleri bir gün öne çekerek 21 Ekim'de yayımladı. watchTowr aynı gün tuzak sunucu ağında istismar girişimleri gördüğünü bildirdi. Datadog, AWS'nin istismar girişimlerini 17 Ekim'de, yani duyurudan dört gün önce gözlemlediğini aktarıyor. PHP, 23 Ekim'de session upload progress özelliğinde CVE-2026-115560 numaralı ilişkili bir açık için bilgilendirme yayımladı; Cloudflare'e göre bu açık 8.5.12 dahil tam yamalı sürümleri de etkiliyor ve PHP'nin bir sonraki olağan sürümünde düzeltilecek.

Ne yapmalısınız?

1. Envanter çıkarın: PHP çalıştıran tüm sunucuları ve uygulamaları listeleyin, internete açık olanlardan başlayın. Konteyner imajlarındaki ve uygulamalarla gelen gömülü PHP yorumlayıcılarını da sayın.
2. Güncelleyin: her kurulumu kendi dalının düzeltilmiş sürümüne yükseltin ya da Linux dağıtımınızın yamalı paketini kurun. Dağıtımlar düzeltmeyi sürüm numarasını değiştirmeden geri taşıyabilir; paket değişiklik notunda CVE numaralarını arayın.
3. Yeniden başlatın: güncellemeden sonra tüm PHP worker'larını ve PHP-FPM havuzlarını yeniden başlatın, konteyner imajlarını yeniden derleyin. Eski çalışma zamanıyla açık kalan worker korumasız kalır.
4. Hemen güncelleyemediğiniz sistemlerin internet erişimini kısıtlayın, önüne WAF ya da ters vekil sunucu koyun.
5. İzleyin: işinize yaramayan PHPSESSID veya PHP_SESSION_UPLOAD_PROGRESS alanlı multipart istekleri, "Allowed memory size ... exhausted" ve "Unknown on line 0" hatalarını, worker segmentation fault kayıtlarını ve web sunucusunun kabuk (shell) başlatmasını takip edin.

Geçici önlemler neden yetmiyor?

Topluluk içinde dolaşan memory_limit=-1 veya session.upload_progress.enabled=0 gibi ayarlar saldırı yüzeyini daraltır ama açığı kapatmaz. PHP de hiçbir yapılandırma değişikliğinin açıkları tam olarak gidermediğini belirtiyor. Tek tam çözüm yamalı sürüme geçmek ve worker'ları yeniden başlatmak.

Özet

PHP2Shell, PHP ile çalışan her web uygulamasını ilgilendiren, kimlik doğrulamasız ve aktif olarak istismar girişimi görülen bir açık çiftidir. Sunucularınızdaki PHP sürümünü bugün kontrol edin; 8.5.12, 8.4.27, 8.3.36 veya 8.2.35'in altındaysanız güncelleyip tüm worker'ları yeniden başlatın. PHP tabanlı sistemlerinizin güncellenmesi için desteğe ihtiyacınız varsa Boran Yazılım ekibine iletişim sayfasından ulaşabilirsiniz.

Kaynaklar