sunucu.com.tr
Güvenlik

PHP2Shell Açığı Nedir, Nasıl Kapatılır? CVE-2026-109618 ve CVE-2026-109619 Adım Adım Rehber

PHP2Shell (CVE-2026-109618, CVE-2026-109619), PHP'de giriş gerektirmeyen uzaktan kod çalıştırma açığıdır. Etkilenen sürümler, Ubuntu, Debian, AlmaLinux ve kontrol panellerinde güncelleme adımları, geçici önlemler ve ele geçirilme belirtileri bu rehberde.

6 dk okuma

Kısa cevap: PHP2Shell, PHP'nin kendisinde bulunan ve saldırganın giriş yapmadan, tek bir web isteğiyle sunucuda kod çalıştırmasına izin verebilen iki kritik açığın (CVE-2026-109618 ve CVE-2026-109619) ortak adıdır. Açığı kapatmanın tek tam yolu PHP'yi 8.5.12, 8.4.27, 8.3.36 ya da 8.2.35 sürümüne (ya da işletim sisteminizin bu düzeltmeyi içeren paketine) güncellemek ve ardından bütün PHP süreçlerini yeniden başlatmaktır. WordPress, Laravel ya da eklenti güncellemesi bu açığı kapatmaz.

Bu rehber 23 Ekim 2026 itibarıyla PHP'nin resmi güvenlik duyurusuna dayanır. Sunucunuz ister bizde ister başka bir sağlayıcıda olsun, aşağıdaki adımları uygulayabilir, yapamadığınız noktada bizden destek alabilirsiniz.

PHP2Shell nedir?

PHP geliştirici ekibi 21 Ekim 2026'da iki kritik güvenlik açığı için acil güncelleme yayımladı. Açıkların ayrıntıları planlanan duyurudan bir gün önce, 20 Ekim'de internete sızdı ve güvenlik topluluğu bu ikiliye PHP2Shell adını verdi. İki açığın da önem puanı CVSS v4.0 ölçeğinde 9,2 (kritik).

Açık Kısa açıklama Etki
CVE-2026-109618 Bellek yetersizliği (OOM) PHP'yi istek verisi yarım hazırlanmışken kesebiliyor; temizlik kodu bu bozuk veriyi geçerli sanıyor Uzaktan kod çalıştırma
CVE-2026-109619 Bir isteğe ait iç durum, belleği serbest bırakıldıktan sonra da yaşıyor; aynı PHP işçisinin sonraki isteği bu eski veriyi kullanabiliyor Uzaktan kod çalıştırma

PHP ekibine göre en yüksek risk Apache mod_php kurulumlarında: kimliği doğrulanmamış tek bir istekle, uygulama kodu daha çalışmadan saldırının tetiklenebildiği gösterildi. Güvenlik araştırmacıları açığın WordPress, Drupal ve Joomla sitelerinde de kullanılabildiğini gösterdi; bazı güvenlik firmaları gerçek saldırı girişimleri gözlemlediğini bildirdi.

Hangi sunucular etkileniyor?

Web isteklerine yanıt veren her PHP kurulumu risk altında:

  • PHP-FPM (Nginx ya da Apache ile)
  • Apache mod_php
  • php-cgi
  • LiteSpeed ve FrankenPHP

Yalnız komut satırında (CLI) betik çalıştıran ve web isteği almayan kurulumlar doğrudan bu saldırı yolunda değildir, ama aynı sunucuda web tarafı da varsa güncelleme yine gereklidir.

Düzeltilmiş sürümler:

PHP dalı Güvenli sürüm
8.5 8.5.12 ve üzeri
8.4 8.4.27 ve üzeri
8.3 8.3.36 ve üzeri
8.2 8.2.35 ve üzeri
8.1 ve daha eski Resmi sürüm yok; işletim sisteminizin geri taşınmış (backport) güvenlik paketi ya da desteklenen sürüme geçiş

Sunucumda açık var mı? Nasıl kontrol ederim?

Önce hangi PHP sürümünü ve hangi çalışma biçimini kullandığınızı öğrenin:

kod
php -v
php-fpm8.3 -v
apachectl -M 2>/dev/null | grep -i php

Linux dağıtımları düzeltmeyi çoğu zaman sürüm numarasını değiştirmeden, kendi paket sürümüyle yayımlar. Bu yüzden php -v çıktısında 8.3.36 görmüyorsanız paketin güvenlik notlarına bakın:

kod
apt changelog php8.3-fpm | head -n 20
dnf updateinfo list --security | grep -i php

Çıktıda CVE-2026-109618 ya da CVE-2026-109619 geçiyorsa düzeltme paketinizde var demektir.

PHP2Shell nasıl kapatılır? Adım adım güncelleme

Ubuntu ve Debian

kod
sudo apt update
sudo apt upgrade
sudo systemctl restart php8.3-fpm
sudo systemctl restart apache2

php8.3 yerine kullandığınız sürümü yazın. Nginx ile PHP-FPM kullanıyorsanız Apache satırını atlayın. Sunucunuzda birden fazla PHP sürümü varsa her birinin FPM hizmetini ayrı ayrı yeniden başlatın.

AlmaLinux, Rocky Linux ve RHEL ailesi

kod
sudo dnf upgrade 'php*'
sudo systemctl restart php-fpm
sudo systemctl restart httpd

Kontrol paneli kullanıyorsanız

cPanel, Plesk, CloudPanel, HestiaCP gibi panellerde PHP paketleri panelin kendi güncelleme düzeniyle gelir. Panelin sistem güncellemesini çalıştırın, sitenizin kullandığı PHP sürümünün güncellendiğini panelden doğrulayın ve PHP hizmetlerini yeniden başlatın. Panel eski bir PHP dalını (7.4, 8.0, 8.1) seçili tutuyorsa sitenizi desteklenen bir dala taşımayı planlayın.

Docker kullanıyorsanız

Resmi PHP imajlarını güncel etiketle yeniden çekin, imajınızı yeniden oluşturun ve konteynerleri yeniden başlatın. Çalışan eski konteyner yeni imajla değiştirilmedikçe açık sürer.

Windows (IIS) kullanıyorsanız

Güncel sürümü php.net indirme sayfasından alın, eski PHP klasörünü yenisiyle değiştirin ve IIS uygulama havuzunu yeniden başlatın.

Önemli: Güncellemeden sonra çalışan bütün PHP işçilerinin yeniden başlaması gerekir. CVE-2026-109619 doğrudan işçi süreçlerinin taşıdığı durumla ilgilidir; paket güncellenip hizmet yeniden başlatılmazsa sunucu eski kodla çalışmaya devam eder.

Hemen güncelleyemiyorsanız ne yapmalısınız?

PHP ekibinin açık uyarısı şu: güncelleme dışında tam koruma sağlayan bir ayar yok. Yine de güncellemeyi planlarken riski azaltmak için:

  1. php.ini dosyasında session.upload_progress.enabled = 0 ayarını yapın ve bütün PHP işçilerini yeniden başlatın. Bu ayarı ini_set() ya da .user.ini ile değil, isteğin işlenmesinden önce uygulanan php.ini ya da FPM havuz ayarıyla yapın.
  2. Dosya yüklemesi kullanmayan sitelerde post_max_size = 8M, yükleme gerekiyorsa 32M gibi düşük bir değer kullanın; upload_max_filesize bunun altında kalsın.
  3. PHP 8.5 kullanıyorsanız fatal_error_backtraces=0 ayarını yapın.
  4. Web uygulama güvenlik duvarınızda (WAF) istek boyutu, alan sayısı ve başlık sayısı için sınır tanımlayın.

Bu önlemler bilinen saldırı yollarının bir kısmını keser, açığı kapatmaz. Güncellemeyi en kısa sürede yapın.

Sunucum ele geçirilmiş olabilir mi? Belirtiler

Bazı güvenlik raporlarına göre saldırı girişimleri açık duyurulmadan önce başladı. Bu yüzden güncellemeden sonra sunucunuzu kontrol edin:

  • Web dizininde tanımadığınız, yakın tarihli .php dosyaları (özellikle yükleme ve önbellek klasörlerinde)
  • Uygulamanızda (WordPress yönetici listesi gibi) sizin açmadığınız yeni kullanıcılar
  • crontab -l ve /etc/cron.d altında beklenmedik zamanlanmış görevler
  • Açıklanamayan yüksek işlemci kullanımı ya da sunucudan dışarıya giden yoğun trafik
  • Değişmiş .htaccess dosyaları ve tanımadığınız yönlendirmeler

Bunlardan birini görürseniz sunucuyu temiz bir yedekten geri döndürmek, parolaları ve uygulama anahtarlarını değiştirmek genellikle en güvenli yoldur. Yalnız şüpheli dosyayı silmek, saldırganın bıraktığı başka arka kapıları temizlemez.

Eski PHP sürümüne bağlı siteler için çözüm

Birçok kurumsal site ve eski yazılım PHP 7.4 ya da 8.0 üzerinde çalışmaya devam ediyor; bu dallar PHP projesinden artık sürüm almıyor. PHP güvenlik ekibi 7.4, 8.0 ve 8.1 için yalnız kaynak koddan derleyenlere yönelik asgari yamalar yayımladı, ama kalıcı çözüm sitenizi desteklenen bir PHP sürümüne taşımaktır.

Yazılımınız yeni PHP sürümünde çalışmıyorsa (kaldırılmış fonksiyonlar, eski kütüphaneler, uyumsuz eklentiler) kodunuzu güncel PHP sürümleriyle uyumlu hale getirebiliriz. Uyumluluk çalışmasını önce bir test ortamında yapar, siteniz sorunsuz çalıştıktan sonra canlıya alırız.

Sunucunuz bizde olsun ya da olmasın destek veriyoruz

PHP2Shell için destek yalnız müşterilerimize değil, sunucusu başka bir sağlayıcıda olan işletmelere de açık:

  • PHP güncellemesi ve yeniden başlatma: Linux ya da Windows sunucunuzda doğru paketleri güncelleyip PHP hizmetlerini yeniden başlatırız.
  • Ele geçirilme kontrolü: Şüpheli dosya, kullanıcı ve zamanlanmış görev taraması yapar, bulguları size raporlarız.
  • Eski PHP'den geçiş: Sitenizi ya da yazılımınızı güncel PHP sürümüne uyumlu hale getiririz.
  • Taşıma: İsterseniz sitenizi güncel ve yönetilen bir altyapıya taşımayı ekibimiz yapar.

Müşterimizseniz panelinizdeki Destek bölümünden talep açın. Sunucunuz başka bir yerdeyse destek@sunucu.com.tr adresine sunucunuzu ve kullandığınız PHP sürümünü yazmanız yeterli; e-postanız destek talebine dönüşür ve ekibimiz en kısa sürede size döner.

Yeni bir sunucu kuracaksanız bulut sunucularımız ve güncellemeleri hazır gelen web sitesi sunucusu seçeneklerine göz atabilirsiniz.

Böyle açıklara karşı en güçlü sigorta: yedek

PHP2Shell gibi kritik açıklar düzenli olarak ortaya çıkar ve bazen yama yayımlanmadan kullanılmaya başlar. Sunucunuz ele geçirildiğinde en hızlı ve en güvenli dönüş yolu, sunucudan ayrı tutulan temiz bir yedektir. Bizdeki bulut sunucunuza günlük imaj yedeğini (7 gün geriye dönük) müşteri panelinden ekleyebilirsiniz; yedekleme seçeneklerinin tamamı Bulut Yedekleme sayfasında.

Bir sonraki kritik açıkta sorunu müşterinizden önce fark etmek için sunucu izleme ile işlemci, bellek, disk ve web sitesi erişimini 7/24 takip edebilir, sorun anında e-posta alabilirsiniz.

Sık sorulan sorular

PHP2Shell açığı WordPress sitemi etkiler mi?

Evet. Açık WordPress'te değil PHP'nin kendisinde olduğu için PHP ile çalışan her WordPress sitesi risk altındadır. WordPress'i ve eklentileri güncellemek açığı kapatmaz; sunucudaki PHP güncellenmeli ve PHP hizmetleri yeniden başlatılmalıdır.

Hangi PHP sürümleri güvenli?

PHP 8.5.12, 8.4.27, 8.3.36 ve 8.2.35 ile bu dalların daha yeni sürümleri güvenlidir. İşletim sisteminizin düzeltmeyi farklı sürüm numarasıyla yayımlamış olabileceğini unutmayın; paketin güvenlik notlarında CVE-2026-109618 ve CVE-2026-109619 geçiyorsa düzeltme yüklüdür.

PHP 7.4 ya da 8.0 kullanıyorum, ne yapmalıyım?

Bu dallar PHP projesinden artık güncelleme almıyor. İşletim sisteminizin geri taşınmış güvenlik paketi varsa onu yükleyin, yoksa sitenizi desteklenen bir sürüme taşıyın. Yazılımınız yeni sürümde çalışmıyorsa uyumluluk çalışmasını biz yapabiliriz.

Paylaşımlı hosting kullanıyorum, ne yapabilirim?

Paylaşımlı hostingde PHP'yi sağlayıcınız günceller. Sağlayıcınızdan güncellemenin yapıldığını yazılı olarak teyit edin ve panelinizde sitenizin desteklenen bir PHP sürümünde çalıştığından emin olun.

Güncelleme sonrası sunucuyu yeniden başlatmak şart mı?

Sunucunun tamamını yeniden başlatmak gerekmez ama PHP-FPM, Apache ya da LiteSpeed gibi PHP'yi çalıştıran hizmetlerin mutlaka yeniden başlatılması gerekir. Aksi halde çalışan işçiler eski, açık kodla hizmet vermeye devam eder.

Sunucum başka bir sağlayıcıda, yine de yardım alabilir miyim?

Evet. Sunucunuz nerede olursa olsun PHP güncellemesi, ele geçirilme kontrolü ve eski PHP'den geçiş için destek veriyoruz. destek@sunucu.com.tr adresine yazmanız yeterli.

Kaynak

  • PHP'nin resmi güvenlik duyurusu ve sürüm notları: php.net
  • #PHP2Shell
  • #PHP güvenlik açığı
  • #CVE-2026-109618
  • #CVE-2026-109619
  • #PHP güncelleme
  • #PHP-FPM
  • #WordPress güvenliği
  • #sunucu güvenliği

Yazar

Kurucu, sunucu.com.tr · Bulut altyapısı ve yapay zeka otomasyonları

sunucu.com.tr ve Sunucu UK'in kurucusu. Bulut altyapısı, sanallaştırma ve sunucu yönetimi üzerine çalışıyor; şirketlerin iş yazılımlarını, web sitelerini ve yapay zeka iş yüklerini güvenli sunuculara taşıyor. Blogdaki rehberler sahada karşılaşılan kurulum, güvenlik ve taşıma işlerinden derlenir; yazılar yapay zeka desteğiyle hazırlanır ve kaynaklarla doğrulanır.

Tüm yazılarıProfil

İlgili yazılar

Güvenlik yazıları