PHP çekirdeğinde son derece kritik iki uzaktan kod çalıştırma (RCE) açığı açıklandı. “php2shell” adıyla anılıyor ve CVSS puanı 9.2 (kritik). Açık, sizin uygulama kodunuzda değil, PHP’nin kendisinde olduğu için iyi yazılmış kod sizi korumaz. Aşağıda ne olduğunu ve sunucu tarafında nasıl kapatacağınızı özetledim.
Açık nedir?
- Kök neden: PHP’nin
session.upload_progressözelliğinin ve multipart (dosya yükleme) ayrıştırıcısının bellek yönetimindeki bir hata (heap use-after-free). - Bu özellik varsayılan olarak açık ve uygulamanız onu hiç kullanmasa bile devreye giriyor. Çok parçalı (multipart) özel biçimli bir POST isteği yeterli.
- Kimlik doğrulama gerekmiyor, uzaktan tek istekle tetiklenebiliyor. Sonuç: sunucuda PHP’nin yetkileriyle (genelde
www-data) komut çalıştırma.
Kimler etkileniyor?
- Sızan bilgilere göre PHP 5'ten itibaren tüm sürümler.
- Resmi yamalar yalnızca desteklenen PHP 8 dallarına gelecek. PHP 5, 7, 8.0 ve 8.1 kullanıyorsanız güncel bir 8.x sürümüne geçmeniz gerekir.
1. Acil azaltma (yama gelene kadar)
session.upload_progress.enabled değerini kapatın. Bu, bilinen saldırı yolunu keser ve dosya yüklemelerinizi bozmaz — yalnızca kullanılmayan “ilerleme takibi” kapanır.
Kendi sunucunuz / VPS (php.ini):
session.upload_progress.enabled = 0Ardından PHP-FPM’i (veya mod_php için Apache’yi) yeniden başlatın:
sudo systemctl restart php8.3-fpm
# mod_php kullanıyorsanız:
sudo systemctl restart apache2FastCGI/CGI ortamı (.user.ini):
İlgili dizine .user.ini koyun:
session.upload_progress.enabled = 0(Değişikliğin aktif olması 5 dakika kadar sürebilir.)
mod_php + .htaccess:
php_flag session.upload_progress.enabled off(Yalnızca mod_php’de ve AllowOverride uygunsa çalışır.)
Paylaşımlı hosting (cPanel vb.):
“Select PHP Version” → “Options” ya da “MultiPHP INI Editor” bölümünden session.upload_progress.enabled değerini Off yapın.
Not:
ini_set()ile çalışma anında değiştirilemez — mutlaka php.ini / .user.ini / panel üzerinden ayarlayın.
2. Kalıcı çözüm: PHP’yi yamalı sürüme güncelleyin
İkinci açığın bu ayardan bağımsız tetiklenebileceği iddia edildiği için tek güvenli yol PHP’yi güncellemektir.
- Resmi güvenlik sürümü 21 Ekim 2026 için planlandı. Yamalı alt sürüm numaralarını resmi duyurudan teyit edin.
- Debian/Ubuntu:
sudo apt update && sudo apt upgrade php8.3 php8.3-fpm- RHEL/AlmaLinux (Remi deposu):
sudo dnf update php php-fpm- Paylaşımlı hosting: panelden en güncel 8.x sürümünü seçin ya da hosting firmanızın güncellemesini bekleyin.
3. Doğrulama
Geçici bir phpinfo() sayfası oluşturup session.upload_progress.enabled değerinin Off olduğunu görün, sonra dosyayı silin. Sürüm için:
php -vYamalı sürümde olduğunuzdan emin olun.
4. Ek önlemler
- Hemen güncelleyemiyorsanız, internete açık uygulamaları WAF arkasına alın.
- Web sunucusu ve PHP loglarında beklenmedik POST istekleri ve
www-dataile çalışan şüpheli süreçler açısından izleme yapın. public_htmliçinde tanımadığınız yeni.phpdosyaları oluşup oluşmadığını kontrol edin.
Özetle: önce ayarı kapat, sonra PHP’yi yamalı sürüme güncelle. Azaltma anında koruma sağlar ama kalıcı güvenlik için güncelleme şart.
