
PHP’de Kritik RCE Açıkları: CVE-2026-109618 ve 109619 Yamaları
PHP, kimlik doğrulaması gerektirmeden uzaktan kod çalıştırmaya yol açabilen CVE-2026-109618 ve CVE-2026-109619 (php2shell) açıkları için 8.5.12, 8.4.27, 8.3.36 ve 8.2.35 güvenlik yamalarını yayımladı. Teknik analiz, kontrol adımları ve veri sızıntısı risklerine karşı öneriler.
PHP geliştirme ekibi 21 Ekim 2026’da PHP 8.5.12, 8.4.27, 8.3.36 ve 8.2.35 güvenlik sürümlerini yayımladı. Bu güncellemeler, kimlik doğrulaması gerektirmeden uzaktan kod çalıştırmaya (RCE) imkân tanıyabilen ve siber güvenlik çevrelerinde “php2shell” olarak adlandırılan iki kritik zafiyeti kapatıyor: CVE-2026-109618 ve CVE-2026-109619. PHP güvenlik ekibinin yayımladığı teknik duyuruda altı çizilen temel uyarı net: Tek eksiksiz çözüm PHP çalışma zamanını güncel sürümlere yükseltmek.
Aynı gün Cumhurbaşkanlığı Siber Güvenlik Başkanlığı da TR-26-1372 numaralı güvenlik bildirimini yayımladı. Anadolu Ajansı’nın aktardığına göre Başkanlık, ulusal ölçekte güvenlik taramaları başlatarak kamu kurumları ve kritik altyapı işletmecilerine SOME İletişim Platformu üzerinden acil yama uyarısı geçti. Avrupa ve Asya’da ise yamalar uygulanana kadar çok sayıda kamu ve kurumsal web hizmeti tedbir amacıyla geçici olarak bakım moduna alındı.
Erken sızıntı, keşif süreci ve teknik kök neden
The PHP Foundation’ın yayımladığı teknik rapora göre, CVE-2026-109618’in temelindeki bellek yetersizliği (out-of-memory) davranışı ilk kez 2024 yılında OSTIF ve Quarkslab tarafından yürütülen güvenlik denetiminde fark edildi. O tarihte istismar senaryosu teorik düzeyde kaldığı ve önerilen değişiklikler geriye dönük uyumluluk riski taşıdığı için kalıcı düzeltme üzerinde uzlaşılamamıştı. Temmuz 2026 sonunda PHP projesinin Patch the Planet programına dahil edilmesiyle birlikte Calif araştırmacısı Ryan Austin (CEO Thai Duong yönetiminde), 11 Ağustos 2026’da koşulsuz uzaktan kod çalıştırma zincirini kanıtlayarak PHP Vakfı güvenlik mühendisi Volker Dusch’a bildirdi; aynı gün OpenAI bağımsız olarak aynı kök nedeni raporladı, ardından Wiz ve OpenAI ek saldırı vektörleri paylaştı.
Koordineli açıklama takvimi ise yayın tarihine bir gün kala bozuldu. 20 Ekim saat 15:00 UTC sularında iki CVE kimliği ve başlıkları resmi yama çıkmadan kamuya açık veri akışlarına sızdı. Bloomberg HT ve Milliyet’in de gündeme taşıdığı bu erken sızıntı üzerine CERT-EU (2026-018) ve Hollanda Ulusal Siber Güvenlik Merkezi (NCSC-NL) acil durum bültenleri yayımladı. Kayıtlarda vurgulanan önemli nokta şu: Saldırı nedeniyle doğrulanmış toplu bir çökme değil, yama çıkana kadar kurumların kendi sistemlerini tedbir amaçlı çevrimdışı bırakması söz konusu oldu.
Teknik açıdan CVE-2026-109618 (GHSA-w8hw-w9fx-j79w, NVD), PHP’nin istek ayrıştırma aşamasında bellek yetersizliği (OOM) oluştuğunda yarım kalan veri yapılarını temizlemeden bırakmasından kaynaklanıyor (CWE-119, CWE-787). Özellikle aynı işletim sistemi sürecinin birden fazla isteği işlediği kurulumlarda saldırgan, kontrollü bir bellek hatası tetikleyerek sonraki istekte uzaktan kod çalıştırabiliyor. CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp, NVD) ise oturum yükleme ilerlemesi (session upload progress) ve hata geri izleme (backtrace) durum bilgilerinin bellek serbest bırakıldıktan sonra süreçte kalmasına bağlı bir use-after-free (CWE-416) zafiyeti oluşturuyor. PHP her iki açığı CVSS v4.0’a göre 9,2 (Kritik), NVD ise CVSS v3.1’e göre 9,8 (Kritik) olarak derecelendiriyor.
Risk altındaki kurulumlar ve yamalı sürümler
PHP’nin resmi duyurusuna göre internetten veya iç ağdan gelen web isteklerini işleyen tüm PHP kurulumları risk kapsamına giriyor. Bunlar arasında PHP-FPM, Apache mod_php, php.exe, CGI/FastCGI ve uzun ömürlü işçi süreçleri kullanan FrankenPHP, RoadRunner ve Swoole gibi çalışma zamanları yer alıyor. En yüksek risk, tüm iş parçacıklarının aynı bellek alanını paylaştığı Apache mod_php kurulumlarında görülüyor.
PHP-FPM kullanan sistem yöneticilerinin de yanılgıya düşmemesi gerekiyor. Her ne kadar FPM süreç izolasyonu sağlasa da CVE-2026-109619’un oturum yükleme ilerlemesi bileşeni ön tanımlı olarak açık geliyor ve özel bir PHP betiği gerektirmeden standart FPM kurulumlarında da istismar edilebiliyor. Araştırmacılar hem mod_php hem de FPM üzerinde tam uzaktan kod çalıştırmayı doğrulamış durumda. Tenable’ın teknik değerlendirmesine göre istismar denemelerinde çökertilen FPM işçi süreçleri ana süreç tarafından anında yeniden başlatıldığı için sistemin ayakta görünmesi saldırı girişimi olmadığı anlamına gelmiyor; ayrıca GitHub üzerinde “php2shell PoC” adıyla paylaşılan bazı sahte depoların bilgi hırsızı zararlı yazılım (infostealer) barındırdığı bildiriliyor.
Desteklenen dallarda açığı kapatan resmi sürümler PHP 8.5 için 8.5.12, PHP 8.4 için 8.4.27, PHP 8.3 için 8.3.36 ve PHP 8.2 için 8.2.35 olarak yayımlandı. PHP güvenlik ekibi ayrıca ciddiyet düzeyi nedeniyle artık standart desteği sona ermiş PHP 7.4, 8.0 ve 8.1 dalları için de kaynak kod düzeyinde asgari düzeltme yamaları paylaştı. Debian ve Ubuntu gibi Linux dağıtımlarında ise güvenlik yamaları mevcut paket numaralarına geri taşındığından (backport), yalnızca php -v çıktısına bakmak yerine dağıtımın güvenlik bültenlerindeki paket sürümüyle karşılaştırma yapılmalıdır (Debian Security Tracker, Ubuntu Security).
Acil kontrol listesi ve geçici sıkılaştırma adımları
1. Envanter ve SAPI tespiti: Dış ağa veya iç ağa açık tüm PHP çalışma zamanlarını (FPM havuzları, Apache mod_php, konteyner imajları, FrankenPHP/RoadRunner/Swoole işçileri) ve phpinfo() çıktısı dışarıya açık olabilecek teşhis uç noktalarını tespit edin.
2. Paket güncellemesi ve çalışma zamanı doğrulaması: Sunucuları PHP 8.5.12, 8.4.27, 8.3.36 veya 8.2.35 sürümlerine (ya da dağıtımınızın yamalı paket sürümüne) yükseltin; güncelleme sonrasında yalnızca web sunucusunu değil, çalışan tüm PHP-FPM ve uygulama işçi süreçlerini yeniden başlatarak eski ikili dosyaların bellekte kalmadığını doğrulayın.
3. Geçici yapılandırma kısıtlamaları (yalnızca yama uygulanana kadar): PHP ekibi, yapılandırma değişikliklerinin yamaların yerini tutmadığını, yalnızca bazı istismar yollarını daralttığını vurguluyor. Yama penceresine kadar CVE-2026-109618 yüzeyini daraltmak için memory_limit=-1 ayarı uygulama kodunun ini_set() veya .user.ini ile değiştiremeyeceği şekilde (php_admin_value ile) tanımlanabilir ve post_max_size ile upload_max_filesize düşürülebilir; ancak bu sırada işletim sistemi düzeyinde RLIMIT_AS veya RLIMIT_DATA sınırı tanımlanmamalıdır, aksi hâlde bellek hatası daha erken tetiklenir. CVE-2026-109619 için ise session.upload_progress.enabled=0 ve PHP 8.5’te fatal_error_backtraces=0 ayarlanmalı, error_reporting ve display_errors kapatılsa dahi @ bastırma operatörünün oluşturduğu hata nesneleri nedeniyle dikkatli olunmalıdır.
4. Süreç çökme ve günlük incelemesi: FPM ve web sunucusu günlüklerinde tekrarlayan işçi süreç çökmelerini (SIGSEGV/OOM), olağandışı büyüklükteki multipart yükleme isteklerini ve beklenmeyen oturum yükleme trafiğini geriye dönük olarak tarayın. Erişim günlüklerinin temiz görünmesi tek başına yeterli kanıt sayılmamalıdır; bellek hatasıyla sonlanan istekler standart erişim günlüklerine her zaman tam yansımayabilir.
LeakData bakış açısı: Sunucu açıkları neden veri sızıntısına dönüşür ve nasıl destek oluyoruz?
Öncelikle kullanıcılarımız ve iş ortaklarımız için belirtelim: LeakData platformu ve servisleri CVE-2026-109618 ile CVE-2026-109619 zafiyetlerinden etkilenmemektedir. Küresel güvenlik bültenlerinin yayımlanmasının ardından güvenlik ekibimiz tüm dış yüzey kontrollerini ve sınır güvenlik katmanlarını gözden geçirerek doğrulamalarını tamamlamıştır. Ancak siber güvenlik ekosisteminde bu ölçekteki uzaktan kod çalıştırma (RCE) açıklarının asıl etkisi, çoğu zaman sunucu yamalandıktan sonraki haftalarda ortaya çıkan veri ve kimlik bilgisi sızıntılarında görülür.
Saldırganlar php2shell benzeri bir RCE zafiyetiyle bir web sunucusunda kod çalıştırma yetkisi elde ettiğinde ilk hedef; sunucudaki ortam değişkenlerini, veritabanı bağlantı parolalarını, API anahtarlarını, aktif oturum belirteçlerini ve kullanıcı tablolarını dışarı sızdırmaktır. Kurumlar PHP sürümlerini güncellese bile, yama öncesindeki pencerede kopyalanmış olan kurumsal e-posta hesapları, yönetici kimlik bilgileri ve müşteri verileri kısa süre içinde karanlık ağ forumlarında, Telegram kanallarında ve zararlı yazılım (stealer) günlüklerinde dolaşıma girebilir.
LeakData olarak bu süreçte hem bireysel kullanıcılara hem de kurumların güvenlik ekiplerine sızıntı tespiti ve erken uyarı katmanında destek sağlıyoruz. Sunucularınızda PHP güncellemesini tamamladıktan sonra, kurumsal alan adınıza ait e-posta adreslerinin, yönetici hesaplarının veya parolaların güncel sızıntı veri kümelerinde yer alıp almadığını LeakData üzerinden sorgulayabilir; alan adı ve kimlik izleme özelliklerimizi devreye alarak olası bir veri ifşasında anında bildirim alıp parola ve anahtar rotasyonunu gecikmeden başlatabilirsiniz. Platformumuzun sızıntı tespiti ve sürekli izleme mekanizması hakkında ayrıntılı bilgiye Nasıl Çalışır sayfamızdan ulaşabilirsiniz.


