deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

8.010 savunmasız WordPress eklentisini inceleyen araştırma, 3.780'inin sessizce dizinden çekildiğini ortaya koydu

2023'ten bu yana her WordPress eklentisi CVE'sini kapsayan bağımsız bir analiz, binlerce savunmasız eklentinin resmi dizinden sessizce ayrıldığını ve sitelerin artık düzeltme almayan kodları çalıştırmaya devam ettiğini buldu.

8.010 savunmasız WordPress eklentisini inceleyen araştırma, 3.780'inin sessizce dizinden çekildiğini ortaya koydu

dev.to üzerinde yayınlanan bağımsız bir analiz, 2023'ten bu yana kamuya açık bir şekilde belgelenmiş güvenlik açığı bulunan her WordPress eklentisinden oluşan bir veri seti oluşturdu ve her birini resmi eklenti diziniyle karşılaştırdı. Veri seti 8.010 farklı eklentiyi ve 15.534 güvenlik açığı kaydını kapsıyor ve en çarpıcı bulgusu görünürlükle ilgili: bir eklenti wordpress.org dizininden kaldırıldığında, site sahibi ne bir panel uyarısı ne de bir e-posta alıyor. Eklenti yalnızca güncelleme almeyi kesiyor, kodu ise çalışmaya devam ediyor.

Sayılar ne gösteriyor

Analize göre, 2023'ten bu yana belgelenmiş bir güvenlik açığı bulunan 8.010 eklentiden:

  • 3.780'i wordpress.org eklenti dizininden kaldırılmış. Kaldırma güncelleme kanalını durduruyor ama hiçbir şeyi kaldırmıyor, dolayısıyla etkilenen siteler eklentiyi çalıştırmaya devam ediyor.
  • Kaldırılan eklentilerden 277'si, CVSS 9.0 veya üzeri olarak tanımlanan kritik bir hataya sahipti.
  • Bilinen bir güvenlik açığı bulunan 2.115 eklenti bugün hâlâ kurulabilir durumda ve on iki aydan uzun süredir güncellenmemiş durumda; toplamda yaklaşık 6,7 milyon aktif kurulumu temsil ediyorlar.

Yazar, kaldırma mekanizmasını en şaşırtıcı sonuç olarak öne çıkarıyor: siteyi işleten kişi için fiilen görünmez.

Veri seti nasıl oluşturuldu

Boru hattı iki kamuya açık kaynağa dayanıyor ve ücretli API kullanmıyor. Güvenlik açığı verileri, CVE kayıtlarını yansıtan ve neredeyse tüm WordPress eklentisi CVE'lerini oluşturan Patchstack ve Wordfence atamalarını da içeren bir git deposu olan GitHub Advisory Database'den geliyor. Danışma klasörlerinin yüzeysel, seyrek bir klonu, CVE tanımlayıcısını, CVSS vektörünü, CWE kimliklerini ve referans URL'lerini içeren ham JSON sağlıyor. Eklenti slug'ı bu kayıtlarda birinci sınıf bir alan olmadığından, yazar onu Patchstack ve Wordfence referans URL'lerine uygulanan düzenli ifadelerle kurtarıyor; bu, danışmaların büyük çoğunluğunu belirli bir eklentiye bağlıyor.

Bakım sinyalleri, kurulum sayılarını, son güncelleme tarihlerini, test edilen sürümleri ve destek taleplerinin çözüm oranlarını bildiren wordpress.org eklenti bilgi API'sinden geliyor. Yazarın belirttiği metodolojik bir tuzak var: bu API'den gelen 404 yanıtı belirsizdir. Bu, eklentinin kaldırılmış olabileceğini ya da hiç dizinde barındırılmamış ticari bir eklenti olabileceğini gösterir. Belirsizliği gidermek için, kapanış tarihini de içeren kapanış bildirimi açısından eklentinin herkese açık sayfası kontrol edilmeli. Yazar, bu adımın atlanmasının WP Rocket gibi ticari bir eklentiyi yanlışlıkla kaldırılmış olarak işaretleyeceğini not ediyor.

Ham CVE sayıları neden yanıltıcıdır

Analizin merkezi savlusundan biri, eklentileri güvenlik açığı sayısına göre sıralamanın terstir. Bug bounty programları olan büyük ve aktif olarak bakımı yapılan eklentiler, hiç kimsenin incelemediği terk edilmiş koddan daha fazla CVE biriktirir; dolayısıyla ham sayı sorumlu bakımcıları cezalandırır ve denetlenmemiş olanları ödüllendirir.

Bunun yerine, puanlama modeli iki eksen birleştiriyor. Güvenlik açığı yükü, 18 aylık yarı ömürle zamanla azalan şiddeti kullanıyor ve kimlik doğrulaması gerektirmeyen ile yakın zamanda tekrar eden sorunlara ağırlık veriyor; böylece puan, eklentinin en kötü tarihsel anını değil mevcut durumunu tanımlıyor. Bakım ise güncelleme yaşı, test edilen sürüm farkı, çözülmemiş destek oranı ve dizinden kaldırılma durumunu dikkate alıyor. Kritik nokta şu: CVE olmaması asla olumlu bir sinyal olarak değerlendirilmiyor, çünkü bu çoğu zaman eklentinin hiç incelenmediği anlamına geliyor.

Site sahipleri için pratik çıkarımlar

Yazarın WordPress sitesi işleten herkese önerileri oldukça net:

  • Herhangi bir kurulmuş eklentinin dizinden sessizce ayrılıp ayrılmadığını kontrol edin, çünkü hiçbir uyarı mekanizması yok.

  • Bir eklentiyi devre dışı bırakmak onu kaldırmak değildir; dosyalar diskte erişilebilir kalır, bu yüzden bunları yenisiyle değiştirin ve silin.

  • Bilinen bir CVE olmasa bile, üç ana sürüm geride kalmış bir "test edildi" sürümünü bir bakım kırmızı bayrağı olarak görün.

Her eklenti için bir sayfa, CVE zaman çizelgesi ve ayrıntılarıyla açıklanmış puanlama yöntemi içeren tam dizin, xuro.net adresinde ücretsiz olarak yayınlandı; tüm girdiler ve ağırlıklar, denetleyemediğiniz bir puanın atıf yapmaya değmeyeceği ilkesiyle açıkça belirtilmiş durumda.

Neden önemli

WordPress web'in çok büyük bir bölümünün temelini oluşturuyor ve eklentiler onun birincil saldırı yüzeyi. Bu veri seti, gözden kaçırılması kolay yapısal bir arıza modunu sayısallaştırıyor: güncelleme kanalının kendisi sessizce bozulabiliyor ve milyonlarca kurulumu asla yamalanmayacak kodu çalıştırır durumda bırakabiliyor. Ayrıca, tescilli akışlar yerine tamamen kamuya açık verilerle ve denetlenebilir bir metodolojiyle inşa edilmiş, yeniden üretilebilir güvenlik araştırması için yararlı bir şablon. Pek çok siteyi yöneten ajanslar ve yöneticiler için yukarıdaki üç maddelik kontrol listesi hemen uygulanması kolay ve ucuz.

  • #wordpress
  • #security
  • #plugins
  • #vulnerability-research
  • #cve

İlgili yazılar