deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

WordPress RCE dalgası aslında PHP, çekirdek ve ACF Extended PRO'daki üç ayrı hata

Tek bir WordPress PHP zafiyeti olarak dolaşan sorun, aslında PHP runtime'ı, WordPress çekirdeğinin güncelleyicisini ve ACF Extended PRO'yu kapsayan üç ayrı RCE; her biri farklı bir sahibi ve sürüm kanalı tarafından giderildi.

WordPress RCE dalgası aslında PHP, çekirdek ve ACF Extended PRO'daki üç ayrı hata

Tek hata değil, üç hata

Bu hafta dolaşıma giren WordPress zafiyeti aslında üç ayrı uzaktan kod çalıştırma (RCE) sorunu; her biri farklı bir bileşen, farklı bir bakımcı ve farklı bir sürüm kanalı üzerinden geliyor. Teamvoy ekibinin dev.to'daki analizine göre PHP motoru, WordPress çekirdeği ve ticari bir eklenti riskin birer payını taşıyor; dolayısıyla güncel bir WordPress gösteren bir panel sorunun yalnızca yaklaşık üçte birini karşılıyor.

Aktif olarak sömürülen hata çekirdekte

CVE-2026-119977, WordPress 4.7.0'dan 7.1.3'e kadar olan sürümleri etkiliyor ve 28 Ekim'de yayımlanan 7.1.4'te giderildi; geri taşımalar 4.7.39'a kadar her dala ulaştı. 4.6 ve öncesini kullanan siteler hiçbir yama almıyor ve yama yerine tam yükseltme gerekiyor. CISA, CVE'yi 3 Kasım'da Bilinen Sömürülen Zafiyetler kataloğuna ekledi ve ABD federal kurumlarına düzeltme için 6 Kasım'a kadar süre tanıdı.

Hatanın kendisi alışılmadık: tam paket çekirdek yükseltme sürecinde bir time-of-check-to-time-of-use yarış durumu. Yükseltme sırasında kullanılan staging dizini, sürüm dizesinden türetilen tahmin edilebilir ve web'den erişilebilir bir ada sahipti; bu nedenle pencere içine denk gelen kimliği doğrulanmamış bir saldırgan kod çalıştırabiliyordu — kapıyı açan şey bizzat yükseltme eylemiydi. Sürüm 7.1.4, staging dizinini kriptografik olarak öngörülemeyen bir son ek ile rastgele hale getiriyor, bir index.php koruma dosyası bulunduruyor ve staging'e alınmış yapılandırma verilerinin güvensiz biçimde yükselttilmesini engelliyor.

Saldırganlar beklemedi. Wordfence, sürüm duyurusundan yaklaşık üç saat sonra engelleme kuralı yayımladı ve bu kurala uyan ilk istek dokuz dakika sonra geldi. Analizde aktlenen telemetri, tek bir 24 saatlik pencerede bu CVE'ye karşı 13.000'den fazla engellenen girişim gösteriyor.

PHP runtime'ı farklı bir sahibe ait

php2shell adı verilen iki PHP CVE'si, 8.2.35 öncesi 8.2'yi, 8.3.36 öncesi 8.3'ü, 8.4.27 öncesi 8.4'ü ve 8.5.12 öncesi 8.5'i etkiliyor; düzeltmeler 21 Ekim'deki PHP sürümlerinde yer aldı. CVE-2026-109618, bellek tükenmesi (out-of-memory) hatalarından sonraki istek belleği yönetimiyle ilgili; CVE-2026-109619 ise eski global durumun sonraki isteklere kalmasıyla ilgili. Hata motorun içinde bulunduğundan, çekirdeği ve eklentileri tamamen yamalanmış bir site, savunmasız bir runtime üzerinde hâlâ sömürülebilir durumda.

Yazıdan iki uyarı çıkıyor. Birincisi, php -v CLI ikili dosyasını raporlar ve bu, web sunucusunun gerçekte sunduğu derlemeden farklı olabilir; bu yüzden operatörler sunuculan sürümü doğrulamalı ve dağıtımlar sessizce geri taşıma yaptığından, barındırma sağlayıcılarından paket derlemelerinin iki CVE numarasıyla eşleşmesini istemelidir. İkincisi, PHP'nin danışma belgesi CVE-2026-109619 için saldırı yolu olarak session upload progress'i gösteriyor ve kapatılmasını öneriyor; WordPress çekirdeği bu özelliği kullanmıyor. Resmî düzeltilmiş sürümü olmayan PHP 8.1 veya daha eski sürümlerde bu ayar, doğrulanmış oturum tabanlı yolları kapatır; ancak tek başına her şeyi düzeltmez.

ACF Extended PRO: Hedef 0.9.2.8

Üçüncü katman, 0.9.2.6 dahil ACF Extended PRO'yu etkileyen ve CVSS'te 9.8 puan alan tehlikeli türde dosya yükleme kısıtlaması olmaması hatası (CWE-434) olan CVE-2026-120534. Patchstack, bu CVE için yamalı sürüm olarak 0.9.2.7'yi kayda geçiriyor; ancak ayrıca 0.9.2.4 ile 0.9.2.7 aralığındaki iki sorunu daha izliyor — kimlik doğrulaması gerektirmeyen rastgele shortcode çalıştırma ve katkıda bulunan (contributor) seviyesinde XSS — ikisi de 0.9.2.8'de giderildi. Bu yüzden eklentiye dokunan operatörler tek bir CVE kaydının düzeltilmiş gösterdiği sürümde durmak yerine 0.9.2.8 veya sonrasına geçmelidir. Analiz ayrıca devre dışı bırakılan eklentilerin dosyalarını diskte bıraktığına dikkat çekiyor; dolayısıyla envanterler, mevcut ama etkin olmayan kurulumları da kapsamalı.

Yamalamak kanıt değildir

Düzeltme için Teamvoy; alakasız değişiklikleri dondurmayı, her ortamdaki üç katmanın tamamının envanterini çıkarmayı, saklama pencereleri kapanmadan günlükleri ve dağıtım kayıtlarını korumaya almayı, test edilmiş ve geri yüklenebilir bir yedek almayı ve her maruz kalan katmanı yamalamadan önce üretimi yansıtan staging ortamında prova yapmayı öneriyor. Sıralama maruziyete göre belirlenebilir: uygulama değişikliği gerektirmeden PHP'yi yamalayabilen bir sunucu, erken ve düşük riskli bir kazançtır.

Yazı, yamaların geçmiş hakkında hiçbir şey söylemediği uyarısıyla kapanıyor. Çekirdek 28 Ekim'den beri doğada sömürülüyor; hızlıca güncellemek ile hiç vurulmamış olmak ayrı sorular. Yamalaması sonrası ön değerlendirme; günlükleri, yönetici hesaplarını, zamanlanmış görevleri, değiştirilmiş PHP dosyalarını, giden bağlantıları ve dosya bütünlüğü sonuçlarını bilinen iyi bir sürümle karşılaştırmalı; tarayıcıların silinmiş artefaktları ve görüş alanları dışındaki etkinliği göremeyeceği unutulmamalıdır.

Neden önemli

Analizden çıkarılacak ders, toplu güncelleme değil sahiplikle ilgili. Runtime, çekirdek ve eklenti envanteri farklı sahiplere aittir ve üçü de rapor vermeden bir olay müdahalesi eksik sayılır. Wordfence rakamları saldırganların bir sürümün ardından dakikalar içinde geldiğini gösteriyor; bu da kısmi yanıtları pahalı kılıyor. ACF Extended örneği ise daha geniş bir ders taşıyor: tek bir CVE kaydında adı geçen sürüme yamalamak, aynı kod aralığındaki komşu hataları düzeltilmemiş bırakabilir; bu yüzden sürüm hedefleri CVE listesi kadar dikkatle incelenmeyi hak ediyor.

  • #wordpress
  • #php
  • #security
  • #vulnerabilities
  • #patching

İlgili yazılar