php2shell açıkları artık bir uyarı değil.
Hafta sonu araştırmacılar, saldırganların 21 Ekim'de yamalanan iki kritik PHP açığını yalnızca denemekle kalmadığını, kod çalıştırmayı başardığını doğruladı. Perplexity'de tespit ve müdahale ekibini yöneten ve kendi PHP honeypot'larını işleten Adel Karimishiraz, GitHub'da yayımladığı analizde kötü amaçlı kodun sensörlerine ulaşıp çalıştığını gösterdi. Sayımı net: PHP 8.4.26 çalışan üç honeypot üzerinde açılan 35 shell, saldırılar ise iki IP adresinden geldi.
İzler daha önce de görünürdü. Yamalar çıktıktan sonraki ilk 26 saatte düzinelerce deneme, 30 bellek yetersizliği (OOM) olayı ve 11 çöken worker süreci kaydetti — gürültülü, ama çalıştırma kanıtı değil. Cumartesi akşamı kodun çalışmış olabileceğini yazdı; teknik yazı tartışmayı bitirdi.
Pazartesi günü CISA, ikiliyi Bilinen İstismar Edilen Güvenlik Açıkları (KEV) kataloğuna ekledi: ABD hükümetinin istismarın sahada gerçekleştiğine dair resmî teyidi ve federal kurumlar için bir yamalama takvimi.
Açıklar CVE-2026-109618 ve CVE-2026-109619: PHP'nin çekirdeğinde, kimlik doğrulaması gerektirmeyen uzaktan kod çalıştırma; PHP 5'ten PHP 8'e kadar tüm sürümleri kapsıyor. PHP ekibi ikisini CVSS 4.0'da 9,2 olarak puanlıyor; açıkları yeniden üreten araştırmacılar 10,0 diyor. Fark akademik. Önemli olan şu: geçici çözüm yok. PHP çekirdek geliştiricileri, internette dolaşan önlemlerin — session.upload_progress'i kapatmak, multipart/form-data isteklerini engellemek — istismarı güvenilir biçimde durdurmadığını açıkça söyledi. Çözüm yama.
Hacim konusunda hiç kuşku yoktu. Cloudflare'in CTO'su yamaların çıktığı gün saldırı denemelerini bildirdi ve WAF kurallarının devreye alındığını söyledi; Amazon altyapısı milyonlarca deneme gördü. Geçen hafta birçok kuruluş yamalamak için sitelerini önleyici olarak kapattı, çoğu yeniden çevrimiçi.
Asıl sorun artık uzun kuyruk. Censys'in tarayıcısı cuma günü Almanya'da savunmasız sürümlere karşılık gelen yaklaşık 4,2 milyon PHP sürüm dizesi saydı. Salı sabahı hâlâ dört milyonun üzerinde bildiriyordu. Censys kendi rakamı konusunda temkinli: birkaç Linux dağıtımı yamaları eski sürüm numaralarına geri taşıyor (backport), yani bir servis savunmasız bir banner gösterirken aslında yamalı çalışıyor olabilir. Rakam bir nüfus sayımı değil, bir gösterge — ama büyük bir gösterge.
PHP işleten herkes için sıra değişmedi. Önce yama, her yerde: her konteyner imajı, her derleme hattı, 2019'dan beri kimsenin açmadığı her staging ve demo sunucusu. Etkilenen aralık PHP 5'te başlıyor; yani maruziyet en az güncel üretim kadar unutulmuş altyapıyla ilgili.
Sonra logları okuyun. Denemeler yamaların çıktığı gün başladı. Son bir haftanın erişim kayıtlarında bilinen istismar kalıplarına uyan her istek ikinci bir bakışı, o pencerede yamasız ve erişilebilir kalan her sunucu ise ikinci bir bakıştan fazlasını hak ediyor.
Rahatsız edici kısım hız. “Milyonlarca deneme, hiçbiri başarılı değil” ile “doğrulanmış shell'ler, CISA kataloğunda” arasında beş gün var. İnternetin büyük bir bölümünü çalıştıran bir dilde, yaygın dağıtılmış ve kimlik doğrulaması gerektirmeyen bir RCE'nin normal şekli bu — ve “bir sonraki bakım penceresinde yamalarız” cevabının geçen salı itibarıyla geçerliliğini yitirmesinin nedeni de bu.




