
Kritik bir açıkta "bizi etkiler mi?" sorusunun en hızlı kanıtı, saldırının kendisini güvenli biçimde kendi ortamınızda denemektir.
21 Ekim 2026'da duyurulan PHP2Shell, PHP çekirdeğindeki iki kritik açığın ortak adı. Kimlik doğrulama gerektirmeyen tek bir web isteğiyle sunucuda kod çalıştırılabildiği için PHP çalıştıran her kurum aynı iki soruyla karşı karşıya: Hangi sistemlerimizi güncellemeliyiz ve güncelleme tamamlanana kadar savunmalarımız bu saldırıyı durduruyor mu?
İkinci sorunun cevabı tahminle değil testle verilir. Picus, PHP2Shell için Picus Threat Library'ye hazır bir saldırı simülasyonu ekledi: Threat ID 60730, "PHP Php2Shell RCE Campaign". Bu yazı bu simülasyonun neyi ölçtüğünü, çalıştırmadan önce nelerin hazır olması gerektiğini, sonuçların nasıl okunacağını ve saldırı engellenmediğinde hangi adımların izleneceğini anlatıyor.
Kısaca: Picus Threat ID 60730, PHP2Shell (CVE-2026-109618 ve CVE-2026-109619) istismar trafiğini canlı savunmalarınıza karşı güvenli biçimde taklit eden hazır bir simülasyondur. Web Application saldırı modülünde yer alır; saldırının PHP çalıştıran varlıklara ulaşıp ulaşmadığını ve güvenlik kontrollerinin onu engelleyip engellemediğini gösterir. Engellenmeyen durumlar için Picus Labs üreticiye özel önleme imzası sunar; imza uygulandıktan sonra aynı simülasyon yeniden çalıştırılarak açığın kapandığı kanıtlanır.
PHP2Shell neden hızlı doğrulama gerektiriyor?
PHP2Shell iki ayrı açıktan oluşuyor. CVE-2026-109618, bellek yetersizliği hatası sırasında yarım kalan istek verisinin geçerli sayılmasından kaynaklanıyor. CVE-2026-109619 ise bir istekten kalan iç durumun aynı işçi süreçte sonraki isteğe taşınmasıyla ortaya çıkıyor. PHP ekibi iki açığa da CVSS v4.0 ölçeğinde 9,2 (kritik) puan verdi. Açıklar PHP çekirdeğinde olduğu için uygulamadan bağımsız; istismar, uygulama kodu çalışmadan önce tetiklenebiliyor.
Zaman baskısı da yüksek. Açıkları Wiz, Calif ve OpenAI araştırmacıları raporladı; ayrıntılar planlanan tarihten önce sızınca PHP ekibi güncellemeleri bir gün öne aldı. Amazon'un tuzak sistemleri, açıklamadan dört gün önce 17 Ekim'de bir istismar denemesi kaydetti; 21 Ekim'de birden fazla aktörden gelen denemeler görüldü. Cloudflare CEO'su, duyurudan sonraki iki saat içinde ağlarında yüz binlerce denemeyi gördüklerini açıkladı. VulnCheck ise internete açık 2,6 milyonu aşkın sunucuda PHP tespit etti.
Böyle bir tabloda yama süreci birkaç gün, bazı sistemlerde haftalar sürer. Aradaki dönemde güvenilen katman ağ ve uygulama güvenlik kontrolleridir ve bu güvenin bir test sonucuna dayanması gerekir.
Picus Threat ID 60730 neyi test eder?
"PHP Php2Shell RCE Campaign" adlı tehdit, Picus Threat Library'de Web Application saldırı modülü altında yer alıyor ve PHP2Shell istismarını taklit ediyor. Picus simülasyonları canlı ortamda güvenle çalıştırılacak şekilde tasarlanır; amaç sistemi ele geçirmek değil, savunmanın tepkisini ölçmektir. Ölçülen şey, PHP2Shell'e özgü saldırı trafiğinin web trafiği yolundaki güvenlik kontrollerinden geçip geçmediğidir.
Simülasyonun cevapladığı sorular şunlardır:
- Erişim: PHP2Shell saldırı isteği, PHP çalıştıran varlıklara giden yolda ilerleyebiliyor mu?
- Engelleme: Bu yoldaki WAF, IPS ya da yeni nesil güvenlik duvarı isteği durduruyor mu?
- Kanıt: Sonuç tarihli ve tekrarlanabilir bir test kaydı olarak saklanabiliyor mu?
Simülasyonun ölçmediği şey de en az bu kadar önemlidir: Sunucudaki PHP sürümünün yamalı olup olmadığını söylemez. Threat ID 60730 güncellemenin yerini almaz; güncelleme tamamlanana kadar geçici korumanın gerçekten çalışıp çalışmadığını gösterir. Simülasyonun teknik ayrıntıları Picus'un PHP2Shell analizinde yer alıyor.
Simülasyonu çalıştırmadan önce: lisans, kapsam ve hedef
Threat ID 60730'u verimli çalıştırmak için üç hazırlık gerekir:
- Lisans: Picus'ta saldırı vektörleri ayrı lisanslanır. Tehdidin konsolda görünmesi ve çalıştırılabilmesi için lisansta Web Application modülünün bulunması gerekir. Hangi vektörlerin hangi kontrolleri kapsadığı Picus Breach and Attack Simulation ürün sayfasında özetleniyor.
- Kapsam: PHP çalıştıran sistemlerin listesi çıkarılır ve her birine trafiğin hangi yoldan ulaştığı not edilir. Ana site WAF arkasında olabilir; eski bir portal yalnızca IPS'ten, bir yönetim arayüzü ise doğrudan güvenlik duvarından geçiyor olabilir. Her yol ayrı bir test noktasıdır.
- Kontrol modları: Test edilecek kontrollerin engelleme modunda mı yoksa yalnızca izleme modunda mı çalıştığı önceden bilinmelidir. İzleme modundaki bir cihaz saldırıyı görür ama durdurmaz; simülasyon sonucu bu farkı açıkça gösterir.
Threat ID 60730 sonuçları nasıl okunur?
Simülasyon tamamlandığında her test yolu için sonuç, saldırının engellenip engellenmediğini gösterir. Sonuçları yorumlarken üç durum öne çıkar:
| Sonuç | Anlamı | Sonraki adım |
|---|---|---|
| Engellendi | Bu yoldaki kontrol PHP2Shell trafiğini durduruyor | Sonucu tarihli kanıt olarak raporla, yamayı planlandığı gibi tamamla |
| Engellenmedi | Saldırı trafiği kontrolden geçerek PHP çalıştıran varlığa ulaşabiliyor | Önleme imzasını uygula, simülasyonu yeniden çalıştır |
| Yolda kontrol yok | Trafik herhangi bir web güvenlik kontrolünden geçmiyor | Sistemi öncelikli yama listesine al, gerekirse erişimi kısıtla |
Tek bir yolda "engellendi" sonucu tüm ortam için genelleştirilmemelidir. Aynı WAF'ın arkasındaki iki uygulama farklı kural profilleriyle korunuyor olabilir. Test her trafik yolu için ayrı yapılır ve sonuçlar sistem bazında kaydedilir.
Saldırı engellenmediğinde: Picus önleme imzası ve yeniden test
Simülasyon "engellenmedi" sonucu verdiğinde Picus'un Mitigation Library'si devreye girer. Picus Labs, kullanılan güvenlik ürününe özel ve doğrulanmış önleme içerikleri yayımlar. PHP2Shell için yayımlanan imza şudur:
- Check Point NGX: "PHP Remote Code Execution" imzası, imza kimliği asm_dynamic_prop_CVE_2026_109618
Akış her durumda aynıdır: imza ilgili cihazda engelleme modunda etkinleştirilir, aynı Threat ID 60730 simülasyonu yeniden çalıştırılır ve sonucun "engellendi"ye döndüğü doğrulanır. Bu ikinci test, değişikliğin yalnızca uygulandığını değil işe yaradığını da kanıtlar. Diğer güvenlik ürünleri için önleme içerikleri Picus Labs tarafından yayımlandıkça Mitigation Library'de görünür; kullanılan üreticinin kendi kural güncellemesi de aynı yöntemle test edilir.
Simülasyon ağdaki kontrolleri ölçtüğü için PHP tarafındaki geçici önlemler ayrıca uygulanmalıdır. PHP ekibinin açıkladığı ara ayarlar arasında session.upload_progress.enabled = 0, düşük bir post_max_size değeri ve PHP 8.5'te fatal_error_backtraces = 0 yer alıyor. PHP ekibi, upload progress ayarının yalnızca doğrulanmış yolları kapattığını ve bu önlemlerin hiçbirinin kurulumu tek başına güvenli hale getirmediğini vurguluyor.
Senaryo: Bir perakende şirketinin BT ekibi, açığın duyurulmasının ardından PHP envanterini çıkarıyor. Ana e-ticaret sitesi aynı gün güncelleniyor; ancak eski bir bayi portalı PHP 7.4 üzerinde çalışıyor ve kısa sürede taşınamıyor. Güvenlik ekibi Picus'ta Threat ID 60730'u her iki trafik yolu için çalıştırıyor. Ana site WAF'ın arkasında ve saldırı engelleniyor. Bayi portalına giden trafik ise yalnızca güvenlik duvarının IPS katmanından geçiyor ve istek engellenmiyor. Ekip Mitigation Library'deki imzayı uyguluyor, simülasyonu yeniden çalıştırıyor ve sonucun "engellendi"ye döndüğünü görüyor. Bayi portalı taşıma planına alınıyor; yönetime giden notta geçici korumanın test edildiği tarih açıkça yer alıyor.
Simülasyon güncellemenin yerini almaz: düzeltilmiş PHP sürümleri
Threat ID 60730'un sonucu ne olursa olsun kalıcı çözüm PHP'yi güncellemektir. PHP ekibinin 21 Ekim'de yayımladığı düzeltilmiş sürümler şunlar:
| PHP sürüm dalı | Düzeltilmiş sürüm | Not |
|---|---|---|
| 8.5 | 8.5.12 | Aktif destekte |
| 8.4 | 8.4.27 | Aktif destekte |
| 8.3 | 8.3.36 | Yalnızca güvenlik desteği |
| 8.2 | 8.2.35 | Destek 31 Aralık 2026'da sona eriyor |
| 8.1, 8.0, 7.4 | Resmi sürüm yok | Kaynak kod yaması veya dağıtım/LTS sağlayıcısının paketi |
Ubuntu, Debian ve Red Hat gibi dağıtımlarda düzeltme, eski sürüm numarasının üzerine paket güncellemesi olarak gelebilir; bu nedenle paket güvenlik notlarına bakmak gerekir. Komut satırındaki php -v çıktısı, siteye hizmet veren PHP-FPM havuzundan farklı bir sürüm gösterebilir. Envantere yönetim arayüzünde PHP kullanan ağ ve güvenlik cihazları da eklenmelidir; en az bir büyük güvenlik üreticisi ürünlerinin etkilendiğini doğruladı.
Yönetime raporlama: test sonucu kanıt olarak
Kritik bir açıkta yönetimin bilmesi gereken dört başlık vardır ve Threat ID 60730 üçüncüsünü kanıta dönüştürür:
- Envanter: PHP çalıştıran hangi sistemlerimiz var, hangileri internete açık?
- Güncelleme durumu: Hangileri düzeltilmiş sürümde, hangileri için plan var?
- Doğrulanmış koruma: Güncellenemeyen sistemlerde simülasyon hangi tarihte çalıştırıldı, sonuç neydi, engellenmeyen yollarda hangi imza uygulandı?
- Uzlaşma kontrolü: Açıklamadan önceki günlerde şüpheli istek, beklenmeyen .php dosyası ya da web kullanıcısından dışarı bağlantı görüldü mü?
Çoğu raporda üçüncü madde "üretici kural yayımladı" cümlesiyle geçiştirilir. Simülasyon sonucu bu cümleyi tarihli ve tekrarlanabilir bir test kaydıyla değiştirir. Kritik bir CVE çıktığında "bizi etkiler mi?" sorusunu sistematik biçimde ele alan zafiyet önceliklendirme rehberi aynı yaklaşımı daha geniş çerçevede anlatıyor.
Sıkça Sorulan Sorular
Picus Threat ID 60730 hangi modülde yer alıyor?
"PHP Php2Shell RCE Campaign" adlı bu tehdit, Picus Threat Library'de Web Application saldırı modülünde yer alıyor. Tehdidin konsolda görünmesi ve çalıştırılabilmesi için lisansta Web Application modülünün bulunması gerekir.
PHP2Shell simülasyonu üretim sistemlerine zarar verir mi?
Picus simülasyonları canlı savunmalara karşı güvenle çalıştırılacak şekilde tasarlanır ve istismar trafiğini taklit eder; amaç sistemi ele geçirmek değil, saldırı isteğinin güvenlik kontrollerinden geçip geçmediğini ölçmektir. Yine de ilk çalıştırma, ilgili ekiplerin bilgisi dahilinde ve planlanmış bir zaman diliminde yapılmalıdır.
Simülasyon "engellendi" diyorsa PHP güncellemesini erteleyebilir miyim?
Hayır. Simülasyon yalnızca test edilen yoldaki kontrolün bugünkü durumunu gösterir. Saldırganlar istek içeriklerini değiştirebilir, trafik farklı bir yoldan gelebilir ya da kural profili değişebilir. PHP ekibi de güncellemeyi tek kalıcı çözüm olarak tanımlıyor.
Check Point dışındaki ürünler için önleme imzası var mı?
Picus'un PHP2Shell analizinde şu an Check Point NGX için "PHP Remote Code Execution" imzası yer alıyor. Diğer ürünler için içerikler Picus Labs tarafından yayımlandıkça Mitigation Library'de görünür. Bu süreçte kullanılan ürünün üreticisinin yayımladığı kural etkinleştirilir ve etkisi aynı simülasyonla doğrulanır.
Sonuç: Önce güncelle, aradaki dönemi test et
PHP2Shell'de sıralama nettir: İlk adım her zaman güncellemedir. Eski uygulamalar, taşınması zaman alan portallar ya da üretici yaması bekleyen cihazlar varsa, aradaki dönemde güvenilen tek şey ağ ve uygulama güvenlik kontrolleridir. Picus Threat ID 60730, bu güvenin her trafik yolu için ayrı ayrı test edilmesini ve engellenmeyen yolların imza uygulanıp yeniden test edilerek kapatılmasını sağlar.
Karar ölçütü basittir: "Güncellenemeyen sistemlerimizde PHP2Shell'i durdurduğumuzu biliyor muyuz?" sorusuna tarihli bir simülasyon sonucuyla cevap verebiliyorsanız hazırsınız.
Technodus, Picus Security çözüm ortağı olarak Picus Threat Library simülasyonlarının kurulumundan sonuçların yorumlanmasına ve önleme içeriklerinin uygulanmasına kadar süreci uçtan uca sorumlulukla yürütür. Threat ID 60730'u kendi ortamınızda çalıştırmak için Technodus ekibiyle iletişime geçebilirsiniz.