Ne oldu?
PHP projesi 21 Ekim 2026’da acil güvenlik sürümleri çıkardı: 8.5.12, 8.4.27, 8.3.36 ve 8.2.35. Bunlar iki kritik hatayı kapatıyor: CVE-2026-109618 ve CVE-2026-109619. İkisinin de puanı CVSS 9.2. Hataları bulan Wiz Research bu ikiliye PHP2Shell adını verdi.
Önemli fark şu: Açık senin uygulamanda değil, PHP’nin kendisinde. Wiz, giriş yapmadan uzaktan kod çalıştırmayı (RCE) WordPress, Drupal ve Joomla’nın o günkü en güncel container imajlarında gösterdi. Wiz’e göre son on yılın her PHP sürümü bu hatalardan en az birinden etkileniyor; bazıları 5.4’e kadar uzanıyor.
Hata nasıl çalışıyor?
PHP’de bir işçi (worker) birçok isteği sırayla karşılıyor. Her istek kendi belleğini kullanıyor, istek bitince bu bellek temizleniyor. Sorun, isteğin memory_limit’e çarpıp ölümcül bir hatayla (fatal error) yarıda kesildiği anda başlıyor.
- CVE-2026-109618: Bellek tam yanlış anda bittiğinde bazı istek verileri yarım kalıyor. Temizlik kodu bu yarım veriyi geçerliymiş gibi işliyor ve belleği bozuyor. Wiz’in anlattığına göre işin içinde oturum modülünün dosya yükleme ilerlemesi (upload progress) özelliği var. Bir varyant, önceki istekten kalan bellek içeriğini
PHPSESSIDçerezinde dışarı bile verebiliyor. Uygulamasession_start()hiç çağırmasa bile. - CVE-2026-109619: Ölümcül hatadan sonra PHP’nin genel (global) durumu, çoktan serbest bırakılmış belleği göstermeye devam ediyor. Aynı işçideki bir sonraki istek bu eski işaretçiyi kullanınca use-after-free oluşuyor. OPcache’teki paylaşılan bellekte de benzer bir tutarsızlık bulunmuş.
Yani tek bir başarısız istek, arkasında bozuk bir durum bırakıyor ve saldırgan bunu sonraki isteğiyle kullanıyor. PHP Foundation’a göre en riskli kurulum, varsayılan ayarlarla Apache + mod_php. PHP-FPM’de de uygulama kodu üzerinden doğrulanmış.
Duyuru neden karıştı?
Planlanan tarih 22 Ekim’di. PHP Foundation’ın anlattığına göre 20 Ekim’de CVE numaraları yanlış bir puanla (10.0) internette dolaşmaya başladı. Ardından Calif ekibi yanlışlıkla kendi istismar videosunu yayınladı. 21 Ekim sabahı Chainguard düzeltmeyi içeren imajları anlaşmalı saatten altı saatten fazla önce yayınladı. PHP sonunda sürümü bir gün öne çekti. Yayın anında çalışan bir istismar görmediklerini söylüyorlar.
Videoya göre ABD’de NSA, CISA ve FBI ile İngiltere’de NCSC, yama uygulanamayan sistemlerin çevrimdışına alınmasını tavsiye etti. 4chan ve Wikimedia gibi bazı büyük siteler de bir süre kapandı.
Yapay zekanın rolü
Wiz, keşifte ve istismar geliştirmede Gemini 4 Argon ile GPT-5.6 Sol kullandığını yazıyor. PHP Foundation da raporları doğrulamak için artık OpenAI’ın Daybreak Red aracını kullanıyor. Daha önce de Anthropic’in Claude Mythos modeliyle tarama yapmışlardı. Wiz, başka varyantların da çıkmasını bekliyor.
Senin için anlamı
- PHP çalıştırıyorsan hemen yukarıdaki sürümlerden birine geç. Resmi duyuruya göre tam bir geçici çözüm yok, tek tam çözüm yükseltmek.
- Yükseltene kadar duyurudaki kısmi önlemler:
session.upload_progress.enabled=0, daha düşükpost_max_sizeve 8.5’tefatal_error_backtraces=0. Cloudflare, Fastly gibi sağlayıcılar da kendi korumalarını yayınladı. - PHP 8.1 ve öncesi artık resmi güncelleme almıyor. 7.4, 8.0 ve 8.1 için sadece kaynaktan derleyenlere küçük yamalar var. 8.2’nin desteği de 31 Aralık 2026’da bitiyor.
- Loglarda bellek limiti hatalarıyla biten garip multipart istekleri, art arda 500 yanıtları ve anormal uzun
PHPSESSIDçerezleri Wiz’e göre saldırı işareti olabilir.
Daha küçük ama benzer bir hatayı, PHP’nin yönlendirmede token sızdırmasını daha önce anlatmıştık.
Düşün
- Sunucunda hangi PHP sürümü var ve onu kim, ne kadar sürede güncelleyebiliyor?
- Bir işçi süreç birçok isteği karşılıyorsa, bir isteğin hatası diğerine nasıl taşınabilir? Kendi kodunda böyle paylaşılan bir durum var mı?
Videoyu izle
Kaynaklar (8, İngilizce)
- Better Stack: A PHP Bug Just Took Websites Offline Worldwide (yeni sekmede açılır)
- Better Stack (short): NSA Just Told PHP Sites to Unplug (yeni sekmede açılır)
- Wiz Research: PHP2Shell (yeni sekmede açılır)
- The PHP Foundation: Today's PHP security release and how we're strengthening PHP security (yeni sekmede açılır)
- PHP.net: 2026 release announcements (yeni sekmede açılır)
- PHP güvenlik duyurusu GHSA-w8hw-w9fx-j79w (CVE-2026-109618) (yeni sekmede açılır)
- PHP güvenlik duyurusu GHSA-6wmf-4rv5-p3rp (CVE-2026-109619) (yeni sekmede açılır)
- CISA: Critical Vulnerabilities in PHP Require Immediate Patching (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.