FixVibe
Covered by FixVibehigh

SPIP'te Şablon Etiketleri Aracılığıyla Uzaktan Kod Çalıştırma (CVE-2016-7998)

SPIP'in 3.1.2 ve önceki sürümleri, şablon oluşturucuda bir güvenlik açığı içermektedir. Kimliği doğrulanmış saldırganlar, sunucuda isteğe bağlı PHP kodu yürütmek için hazırlanmış INCLUDE veya ICLURE etiketlerine sahip HTML dosyalarını yükleyebilir.

CVE-2016-7998CWE-20

Etki

Kimliği doğrulanmış bir saldırgan, temel web sunucusu [S1] üzerinde isteğe bağlı PHP kodu çalıştırabilir. Bu, veri sızması, site içeriğinin değiştirilmesi ve [S1] barındırma ortamında yanal hareket de dahil olmak üzere sistemin tamamının tehlikeye atılmasına olanak tanır.

Temel Neden

Güvenlik açığı, SPIP şablon oluşturucu ve derleyici bileşenleri [S1]'de bulunmaktadır. Sistem, yüklenen [S1] dosyalarını işlerken belirli şablon etiketleri içindeki girişi düzgün şekilde doğrulayamıyor veya temizleyemiyor. Özellikle derleyici, [S1] HTML dosyalarının içindeki hazırlanmış INCLUDE veya INCLURE etiketlerini hatalı şekilde işler. Bir saldırgan, yüklenen bu dosyalara valider_xml eylemi aracılığıyla eriştiğinde, kötü amaçlı etiketler işlenir ve bu da [S1] PHP kodunun yürütülmesine yol açar.

Etkilenen Sürümler

  • SPIP 3.1.2 versiyonları ve önceki tüm [S1] versiyonları.

İyileştirme

Bu güvenlik açığını gidermek için SPIP'i 3.1.2'den daha yeni bir sürüme güncelleyin [S1]. Dosya yükleme izinlerinin kesinlikle güvenilir yönetici kullanıcılarla sınırlı olduğundan ve yüklenen dosyaların, web sunucusunun bunları [S1] komut dosyaları olarak yürütebileceği dizinlerde saklanmadığından emin olun.

FixVibe bunu nasıl test ediyor?

FixVibe bu güvenlik açığını iki temel yöntemle tespit edebildi:

  • Pasif Parmak İzi: FixVibe, HTTP yanıt başlıklarını veya HTML kaynağındaki belirli meta etiketleri analiz ederek SPIP [S1]'nin çalışan sürümünü tanımlayabilir. Sürüm 3.1.2 veya daha düşükse, yüksek önem derecesine sahip bir [S1] uyarısı tetiklenir.
  • Depo Taraması: GitHub depolarını bağlayan kullanıcılar için, FixVibe'nin repo tarayıcısı, savunmasız [S1] kurulumlarını belirlemek için SPIP kaynak kodundaki bağımlılık dosyalarını veya sürüm tanımlayan sabitleri inceleyebilir.