Nedir? Nasıl? • Sunucu

php2shell Nedir? PHP’deki Kritik Güvenlik Açıklarına Karşı Ne Yapmalısınız?

PHP, bugün internetteki web sitelerinin büyük bölümünün arkasında çalışan programlama dilidir. WordPress, WooCommerce, Laravel ve pek çok özel yazılım PHP ile çalışır. Bu nedenle PHP’nin kendisinde bulunan bir güvenlik açığı tek bir uygulamayı değil, aynı sunucudaki bütün siteleri ilgilendirebilir.

PHP güvenlik ekibi 20 Ekim 2026’da kritik bir güvenlik güncellemesinin geleceğini duyurdu ve 21 Ekim 2026’da iki ciddi açığı kapatan yeni sürümleri yayımladı. Güvenlik topluluğunda php2shell adıyla anılan bu açıklar, kimlik doğrulaması gerektirmeden sunucuda uzaktan kod çalıştırılmasına imkân tanıyabilir.

Peki php2shell nedir, hangi PHP kurulumlarını etkiler ve web sitenizi korumak için neler yapmalısınız?

php2shell Nedir

php2shell Nedir?

php2shell, PHP’de bulunan iki güvenlik açığına verilen ortak addır: CVE-2026-109618 ve CVE-2026-109619. PHP güvenlik ekibi iki açığı da CVSS v4.0 ölçeğinde 9.2 puanla kritik seviyede değerlendiriyor.

Adındaki “shell” ifadesi, açıktan yararlanan bir saldırganın sunucuda komut çalıştırabilmesine işaret eder. Uzaktan kod çalıştırma (RCE) olarak bilinen bu durumda saldırgan dosyaları değiştirebilir, zararlı yazılım yerleştirebilir ya da sunucuyu başka saldırılar için kullanabilir.

Bu açıkları pek çok güvenlik açığından ayıran nokta, uygulamanın kendi kodundan değil PHP’nin istekleri işleme biçiminden kaynaklanmasıdır. Yani WordPress, eklentiler ve tema güncel olsa bile sunucudaki PHP güncellenmediği sürece risk devam eder.

CVE-2026-109618 ve CVE-2026-109619 Ne Anlama Geliyor?

Her iki açık da PHP’nin bellekte tuttuğu verilerle ilgilidir ancak farklı durumlarda ortaya çıkar.

CVE-2026-109618: Bellek Yetersizliğinde Bozulan Veri

PHP bir isteği işlerken bellek yetersizliğiyle (out of memory) karşılaşırsa, isteğe ait bazı iç veriler henüz tam hazırlanmamışken çalışma kesilebilir. İstek sonunda yapılan temizlik işlemi bu yarım kalmış veriyi geçerli kabul edebilir. Saldırgan bu durumu bilerek tetiklediğinde ortaya çıkan bellek bozulması uzaktan kod çalıştırmaya kadar uzanabilir.

CVE-2026-109619: Temizlenmeyen Eski Durum Bilgisi

PHP-FPM gibi yapılarda aynı PHP işçisi art arda birçok isteği karşılar. Bu açıkta bir isteğe ait iç durum bilgisi, kullandığı bellek serbest bırakıldıktan sonra da kalabiliyor. Aynı işçinin karşıladığı bir sonraki istek, bu bilgi sıfırlanmadan önce eski veriyi kullanabiliyor. PHP ekibine göre açığın doğrulanmış yollarından biri, oturum (session) eklentisinin dosya yükleme ilerlemesi özelliğinden geçiyor.

Hangi PHP Kurulumları Risk Altında?

PHP güvenlik ekibinin duyurusuna göre web isteklerine yanıt veren bütün PHP kurulumları risk altındadır. PHP-FPM, Apache mod_php, php-cgi, FrankenPHP ve LiteSpeed ile çalışan kurulumlar bu kapsamdadır.

Ekip en yüksek riskin mod_php kullanan sunucularda olduğunu belirtiyor. Bu yapıda kimlik doğrulaması olmayan tek bir isteğin, uygulama kodu hiç çalışmadan saldırıyı başlatabildiği gösterilmiş durumda.

Paylaşımlı hosting, bulut sunucu ya da fiziksel sunucu fark etmeksizin, internete açık bir PHP uygulaması çalıştıran her ortam bu açıkları dikkate almalıdır.

Güvenlik Güncellemesi Hangi PHP Sürümlerinde Var?

Açıkları kapatan resmî PHP sürümleri şunlardır:

  • PHP 8.5.12
  • PHP 8.4.27
  • PHP 8.3.36
  • PHP 8.2.35

PHP 8.1 ve daha eski sürümler artık PHP projesinden güncelleme almıyor. Ancak açıkların ciddiyeti nedeniyle PHP güvenlik ekibi PHP 7.4, 8.0 ve 8.1 için kaynak kod düzeyinde asgari düzeltmeler paylaştı. Bazı işletim sistemi dağıtımları ve uzun süreli destek sağlayan firmalar da eski sürümler için düzeltilmiş paketler sunuyor.

Burada dikkat edilmesi gereken bir nokta var: Eski sürümlere taşınan düzeltmelerde PHP’nin sürüm numarası çoğu zaman değişmez. Örneğin PHP 7.4.33, düzeltmeyi aldıktan sonra da 7.4.33 olarak görünebilir. Eski bir sürüm kullanıyorsanız güvenlik güncellemesinin kurulup kurulmadığını hizmet sağlayıcınıza sormanız en doğru yoldur.

Ayrıca PHP 8.2’nin güvenlik desteği 31 Aralık 2026’da sona erecek. PHP 8.2 ve daha eski sürümleri kullanan projelerin güncel bir sürüme geçişi planlaması önerilir.

Sitenizin PHP Sürümünü Nasıl Kontrol Edebilirsiniz?

Sitenizin hangi PHP sürümüyle çalıştığını hosting kontrol panelinizden öğrenebilirsiniz. cPanel’de MultiPHP Yöneticisi ya da PHP sürümü seçme ekranı, Plesk’te ise alan adının PHP Ayarları bölümü bu bilgiyi gösterir.

Sunucuya SSH ile erişiminiz varsa aşağıdaki komut, komut satırındaki PHP sürümünü gösterir:

php -v

Komut satırındaki PHP ile sitenin kullandığı PHP farklı olabilir. Sunucuda birden fazla PHP sürümü kuruluysa her birinin ayrı ayrı güncellenmesi gerekir.

Hemen Güncelleyemiyorsanız Hangi Önlemler Alınabilir?

Kalıcı çözüm PHP’yi düzeltilmiş bir sürüme yükseltmektir. Güncellemeyi hemen yapamıyorsanız PHP ekibinin önerdiği geçici önlemler bazı saldırı yollarını kapatır, ancak kurulumu tamamen güvenli hâle getirmez.

Dosya Yükleme İlerlemesi Özelliğini Kapatın

CVE-2026-109619’un doğrulanmış yollarını kapatmak için php.ini dosyasına ya da PHP-FPM havuz ayarlarına aşağıdaki satır eklenir ve bütün PHP işçileri yeniden başlatılır:

session.upload_progress.enabled = 0

Bu ayar ini_set() ya da .user.ini dosyasıyla verildiğinde işe yaramaz; isteğin işlenmesinden önce okunan bir yapılandırmada yer almalıdır. Özellik, dosya yüklerken ilerleme durumunu gösteren uygulamalar tarafından kullanılır. Kapatmadan önce sitenizde böyle bir özellik olup olmadığını kontrol edin.

PHP 8.5 Kullanıyorsanız

PHP 8.5’te ek olarak fatal_error_backtraces = 0 ayarı verilir ve işçiler yeniden başlatılır. Bu ayar, ölümcül hata (fatal error) üzerinden doğrulanmış saldırı yolunu kapatır.

İstek Boyutunu Sınırlayın

CVE-2026-109618 için PHP ekibi, dosya yükleme gerekmeyen uygulamalarda post_max_size değerinin 8M, dosya yüklenen uygulamalarda 32M ile sınırlanmasını öneriyor. upload_max_filesize değeri bunun altında tutulmalıdır. Ekip ayrıca bellek sınırı ve kapsayıcı (container) sınırları için ek öneriler sunuyor; bu ayarlar sunucunun tamamını etkilediği için uygulanmadan önce dikkatle değerlendirilmelidir.

Unutmayın: Bu önlemler yalnızca güncelleme yapılana kadar riski azaltır. Kalıcı koruma için PHP’nin güncellenmesi gerekir.

Domainhizmetleri Olarak Neler Yaptık?

Açıklar duyurulduğu andan itibaren altyapımızdaki PHP kurulumlarını takip ettik ve şu adımları uyguladık:

  • Resmî güncelleme yayımlanmadan önce, 21 Ekim sabahı paylaşımlı hosting sunucularımızda geçici koruma ayarını devreye aldık.
  • Paylaşımlı Web Hosting (cPanel) sunucularımızın tamamında PHP 5.4’ten 8.5’e kadar bütün sürümlerin güvenlik güncellemeleri 22 Ekim sabahı tamamlandı. Geçici koruma ayarı, güncellemesi kurulan sürümlerden kaldırıldı.
  • Plesk kullanan sunucular için, desteği sona ermiş PHP sürümlerine de düzeltilmiş paket kuran bir kurulum betiği hazırladık. Betik PHP 5.6 dâhil eski sürümleri ve CentOS 7 gibi artık güncelleme almayan işletim sistemlerini de destekliyor.
  • Bu güncellemeyi tüm Domainhizmetleri Bulut Sunucu (VDS) hizmetlerinde ücretsiz yapıyoruz.

Sizin Yapmanız Gereken Bir Şey Var mı?

cPanel tabanlı Paylaşımlı Web Hosting paketlerimizden birini kullanıyorsanız: Güncellemeler bizim tarafımızda yapıldı, ek bir işlem yapmanıza gerek yok.

Domainhizmetleri Bulut Sunucu kullanıyorsanız: Destek Merkezi’nden talep oluşturmanız yeterli. Ekibimiz sunucunuzdaki PHP sürümlerini kontrol eder ve güncellemeyi ücretsiz yapar.

Kendi yönettiğiniz başka bir sunucunuz varsa: PHP sürümlerini yukarıdaki adımlarla kontrol edin ve güncellemeyi geciktirmeyin.

Sonuç

php2shell olarak anılan CVE-2026-109618 ve CVE-2026-109619, PHP’nin istekleri işleme sürecindeki hatalardan kaynaklanan ve kimlik doğrulaması gerektirmeden uzaktan kod çalıştırmaya imkân tanıyabilen kritik açıklardır. Uygulamanızın güncel olması bu açıklara karşı tek başına yeterli değildir; asıl çözüm PHP’nin düzeltilmiş bir sürüme yükseltilmesidir.

Güncellemeyi hemen yapamadığınız durumlarda geçici önlemler riski azaltır, ancak kalıcı koruma sağlamaz. Eski PHP sürümlerini kullanan projelerin desteklenen bir sürüme geçişi planlaması da uzun vadede en güvenli yoldur.

Domainhizmetleri olarak güncel ve güvenli altyapımızla web projelerinize uygun hosting ve sunucu çözümleri sunuyoruz. Sorularınız için Destek Merkezi‘nden talep oluşturabilir ya da mesai saatleri içerisinde 0 850 885 2552 numaralı hattımızı arayabilirsiniz.

Subscribe
Bildir
guest
0 Yorum
En Yeniler Eskiler