• Dün, 01:07:56
    #1
    PHP'nin kendisinde iki kritik açık kapatıldı. Ortak adı PHP2Shell. Giriş gerektirmiyor, sitenin kodu hiç çalışmadan bile tetiklenebiliyor. WordPress, eklenti, tema ya da framework güncellemesi bu yüzden korumuyor; sunucudaki PHP güncellenmeli.

    Ne oldu, kısaca
    • CVE-2026-109618: PHP bellek sınırına (memory_limit) çarpınca isteği yanlış anda kesiyor, iç durum yarım kalıyor. Tetikleyici, özel hazırlanmış bir multipart/form-data (dosya yükleme) isteği.
    • CVE-2026-109619: Bir istekten kalan global durum sonraki istekte kullanılıyor (use-after-free). Doğrulanmış yollardan biri session upload progress, diğeri PHP 8.5'te fatal_error_backtraces.
    • Resmî puan CVSS 4.0 9.2. İlk dolaşan 10.0 puanı yanlıştı.
    • Etkilenen kod PHP 5.4'e (2012) kadar gidiyor. mod_php en açık olanı; PHP-FPM ve LiteSpeed (lsphp) da etkilenebilir.
    • Bellek sızıntısı da var: aynı işçideki başka isteklerin verisi (oturum, şifre, API anahtarı) PHPSESSID çerezinde dışarı çıkabiliyor.
    Sürüm durumu
    • 8.5 → 8.5.12 yamalı
    • 8.4 → 8.4.27 yamalı
    • 8.3 → 8.3.36 yamalı
    • 8.2 → 8.2.35 yamalı
    • 8.1 / 8.0 / 7.4 → resmî sürüm yok, yalnız dağıtıcılara backport verildi. Panel/dağıtım paketine bakın
    • 5.4 – 7.3 → PHP projesinden düzeltme yok. Bazı depolar kendi yamasını sunuyor
    Dağıtım paketlerinde sürüm numarası eski görünebilir. Örneğin Ubuntu 24.04'te yamalı paket 8.3.6-0ubuntu0.24.04.13. "8.3.36 değil, demek ki açık" demeyin; paket revizyonuna ve güvenlik duyurusuna bakın.

    Panel bazında hızlı güncelleme
    • cPanel (EasyApache 4): ea-php82–85 yamalı, ea-php74/80/81'e backport geldi. Eski sistemlerde dnf yerine yum. Sonra Apache ve PHP-FPM yeniden başlatılır.
      dnf upgrade 'ea-php*'
    • Plesk: Tools & Settings → Updates ya da komut satırından aşağıdaki komut. Panelin kendi PHP'si için ayrı hotfix var. Windows tarafı Linux'tan geç geldi.
      plesk installer update
    • DirectAdmin: CustomBuild 8.2–8.5'i yükseltiyor, 8.1/8.0/7.4 için yama ekledi. Eski usulde custombuild dizininde ./build update ve ./build php.
      da build update
      da build php
    • CyberPanel / LiteSpeed (lsphp): Depolar gecikmeli geldi, önce aday sürüme bakın. Güncelledikten sonra lsphp süreçlerini öldürmek şart; LiteSpeed'i yeniden başlatmak PHP süreçlerini yenilemiyor.
      apt-cache policy lsphp83
      apt update && apt install --only-upgrade 'lsphp8*' # Ubuntu
      dnf upgrade 'lsphp*' # Alma / RHEL
      pkill lsphp
    • Ubuntu (ana depo): Dalınıza göre paket adını değiştirin. 18.04/20.04 yalnız Ubuntu Pro ESM ile. İkinci satır yamanın gelip gelmediğini gösterir.
      sudo apt update && sudo apt install --only-upgrade 'php8.3*'
      zgrep -E 'CVE-2026-10961[89]' /usr/share/doc/php8.3-fpm/changelog.Debian.gz
    • AlmaLinux 8/9/10: Yamalı paketler 21 Ekim akşamı depoya girdi.
      sudo dnf upgrade 'php*'
      dnf updateinfo list --security | grep php
    • ppandrej/php / Sury: dört dal yamalı. Ayna geç güncellendiyse tekrar deneyin, sürümü dpkg -l ile doğrulayın.
    Güncellemeden sonra üç şey
    1. Tüm PHP işçilerini yeniden başlatın. mod_php kullanıyorsanız reload değil, tam restart (systemctl restart apache2 / httpd).
      systemctl restart php8.3-fpm
    2. Eski kütüphaneyi tutan süreç kaldı mı bakın. Boş çıktı iyi.
      sudo grep -lE ' /(usr|lib|opt).*\(deleted\)$' /proc/[0-9]*/maps
    3. php -v yalnız CLI'ı gösterir. Web tarafının sürümünü geçici bir PHP_VERSION sayfasıyla HTTP üzerinden görün, sonra sayfayı hemen silin.
    Hemen güncelleyemeyenler için geçici önlemler (hepsi kısmi)
    • Upload progress'i kapatın. php.ini'de ya da FPM havuzunda php_admin_flag ile yapın; ini_set() ve .user.ini geç kalıyor, işe yaramıyor. 109618'i kapatmaz. PHP 8.5'te ikinci satır da gerekli.
      session.upload_progress.enabled = 0
      fatal_error_backtraces = 0
    • Dosya yüklemesi kullanmayan sitelerde multipart/form-data isteklerini web sunucusunda reddetmek. Yükleme formlarını, bazı ödeme/iletişim formlarını bozar; test edin.
    • post_max_size ve ön uçtaki istek boyutu, alan ve başlık sınırlarını düşürmek. Exploit sınır içinde kalarak da çalışabiliyor.
    • RLIMIT_AS / RLIMIT_DATA ile bellek sınırlamayın; savunmasız yolu tam da bu tetikliyor.
    • WAF (Cloudflare kuralları ücretsiz planda da varsayılan açık): yalnız WAF'tan geçen trafiği korur. Origin IP'niz doğrudan erişilebiliyorsa koruma yok.
    • Uygulama içi "bakım modu" işe yaramaz, PHP yine isteği alıyor. En güvenli geçici yol siteyi statik bakım sayfasına almak.
    PHP'nin kendi ifadesi: kalıcı ve eksiksiz çözüm yalnızca güncelleme.

    Saldırıya uğradım mı? Kısa kontrol listesi
    Resmî IOC listesi henüz yok. Göstergenin olmaması temiz olduğunuzu kanıtlamaz.
    • Logları önce kopyalayın, temizlik yapmayın.
    • 20 Ekim'den bu yana yükleme formu olmayan adreslere gelen POST multipart istekleri, ardından "Allowed memory size exhausted" ve art arda 500'ler.
    • Yanıtlarda olağandışı uzun ya da bozuk PHPSESSID çerezleri.
    • php-fpm, lsphp, apache2/httpd altından başlayan sh, bash, curl, wget, nc, python, perl süreçleri.
    • 20 Ekim sonrası değişen PHP dosyaları (yolu kendi web kökünüze göre değiştirin):
      find /var/www -name '*.php' -newermt '2026-10-20' -type f
    • uploads/images altında PHP dosyası, /tmp ve /dev/shm'de çalıştırılabilir dosya, yeni cron işi, yeni yönetici hesabı, authorized_keys değişikliği, .htaccess ya da .user.ini'ye auto_prepend_file eklemesi.
    • Şüphe varsa: sunucuyu ele geçirilmiş say, veritabanı şifreleri, .env anahtarları, ödeme ve SMTP bilgileri ve TLS anahtarları dahil sırları döndür, tüm oturumları geçersiz kıl. Kişisel veri etkilendiyse KVKK'ya 72 saat içinde bildirim gerekiyor.
    GitHub'da "PHP2Shell PoC" diye dolaşan depoların çalıştığı doğrulanmadı; bir kısmı araştırmacıyı hedefleyen zararlı olabilir. Sunucuda çalıştırmayın. X'teki "$PHP2SHELL" token paylaşımları da dolandırıcılık.

    Türkiye tarafı
    Siber Güvenlik Başkanlığı ulusal ölçekte tarama başlattı, kamu kurumları, kritik altyapı ve özel sektöre acil uyarı gönderdi (bildirim TR-26-1372). Önerileri: etkilenen sistemleri belirleyin, hemen yükseltin, yönetim arayüzlerini güvenilir IP'lere kısıtlayın, yurt dışı erişimi gerekmeyen sistemlerde uluslararası trafiği kapatın.

    İstismar durumu kaynağa göre değişiyor: Cloudflare ve bazı araştırmacılar deneme gördüğünü söylüyor; CISA, BSI ve PHP güvenlik ekibi yayın anında doğrulanmış istismar bildirmedi. Yama farkı açık olduğu için bu hızla değişebilir, beklemeye değmez.

    Sürüm tablosu, dağıtım bazında paket sürümleri ve kaynak listesiyle Türkçe derleme: https://alestaweb.com/haber/php2shel...asil-kapatilir

    Panelinizde ya da dağıtımınızda takıldığınız yer olursa yazın, bildiğim kadarıyla yardımcı olayım.
  • Dün, 01:12:39
    #2
    Emeğine sağlık.
  • Dün, 01:19:48
    #3
    Şu an hangi sürümü kullanmak mantıklı? 8.5 / 4 / 3 hem güvenlik hem performans ve stabilite için
  • Dün, 01:28:52
    #4
    Dünkü yamayı aldıysa üçü de güvenli (8.5.12 / 8.4.27 / 8.3.36), o tarafta fark yok. Ben sunucuda 8.4 derim, oturmuş sürüm, paketlerin hemen hepsi sorunsuz çalışıyor, 2028 sonuna kadar da güvenlik desteği var. 8.5 biraz daha hızlı ve ömrü daha uzun ama eski bir paket kullanıyorsan test etmeden geçme. 8.3 artık sadece güvenlik yaması alıyor, elinde varsa acele etme ama yeni kurulumda seçmem. Bir de güncelledikten sonra php-fpm / lsphp'yi yeniden başlatmayı unutma, yoksa eski sürüm arkada çalışmaya devam ediyor.
  • Dün, 02:48:38
    #5
    vibecoderlar nerede php sürümü mü güncelliyorlar her haltı php 7.4 altyapısı ile yaptıktan sonra
  • Dün, 07:23:23
    #6
    Emeğinize sağlık
  • Dün, 10:58:42
    #7
    anilguler adlı üyeden alıntı: mesajı görüntüle
    Şu an hangi sürümü kullanmak mantıklı? 8.5 / 4 / 3 hem güvenlik hem performans ve stabilite için
    bu kadar korkmayin hocam lab disinda dogru duzgun calisan bir exploit yok piyasada 20 tane yaygin olmayan konfigurasyon olacak da aslr bypass cevap verecek de sizin sitenizi hackleyecekler hikaye
  • Dün, 17:06:09
    #8
    Şu anda CloudLinux tarafında ELS-PHP kullananlar için tüm alt sürümlerin yamaları yayınlandı.

    Directadmin tarafında ise mevcut repolarında PHP 7 ve altı için son çıkan versiyonun patchlenmiş versiyonları * olarak gösterilmektedir ve custombuild altında ki php .tar.gz dosyaları silinip da build php yapalarlarsa patchlenmiş versiyona geçeceklerdir.

    CloudLinux kullanan kullanıcıların güncelleme yöntemi ise ELS-PHP kullanarak olmalı.
    Sırasıyla;
    cPanel:
    dnf update -y cloudlinux-release
    rpm -q cloudlinux-release

    CloudLinux OS 7: yum install -y els-php-release
    CloudLinux OS 8, 9: dnf install -y els-php-release

    CloudLinux OS 7: yum-config-manager --save --setopt=php-els.skip_if_unavailable=true
    CloudLinux OS 8, 9: dnf config-manager --save --setopt=php-els.skip_if_unavailable=True

    CloudLinux OS 7: yum --disablerepo='*' --enablerepo=php-els makecache
    CloudLinux OS 8, 9: dnf --disablerepo='*' --enablerepo=php-els makecache
    CloudLinux OS 7: yum update -y 'alt-php*'
    CloudLinux OS 8, 9: dnf upgrade -y 'alt-php*'
    Son olarak kontrol:
    rpm -q --changelog alt-php82-common | grep -E 'CVE-2026-(109618|109619)'

    CloudLinux OS 7: yum clean all && yum update "alt-php*"
    CloudLinux OS 8, 9, 10: dnf clean all && dnf upgrade "alt-php*"
    CloudLinux OS 7: yum-config-manager --disable php-els
    CloudLinux OS 8, 9: dnf config-manager --set-disabled php-els
    Kontrol edin ve çıktıda CVE numaraları göründüyse patch tamamdır, daha sonra sunucuyu reboot edin geçin eğer reboot edemiyorsanız aşağıda ki komutla apache ve php-fpm servisi restart edin.
    rpm -q --changelog alt-php74-common | grep -E "CVE-2026-(109618|109619)"
    /scripts/restartsrv_apache_php_fpm && /scripts/restartsrv_httpd