FixVibe
Covered by FixVibehigh

Andoza teglari (CVE-2016-7998) orqali SPIP da masofaviy kodni bajarish

SPIP 3.1.2 va undan oldingi versiyalarida shablonni yaratuvchisida zaiflik mavjud. Tasdiqlangan tajovuzkorlar serverda ixtiyoriy PHP kodini bajarish uchun yaratilgan INCLUDE yoki INCLURE teglari bilan HTML fayllarni yuklashlari mumkin.

CVE-2016-7998CWE-20

Ta'sir

Autentifikatsiya qilingan tajovuzkor [S1] asosiy veb-serverida ixtiyoriy PHP kodini bajarishi mumkin. Bu tizimni to'liq buzishga imkon beradi, jumladan, ma'lumotlarni eksfiltratsiya qilish, sayt tarkibini o'zgartirish va [S1] xosting muhitida lateral harakatlanish.

Asosiy sabab

Zaiflik [S1] SPIP shablonining kompozitor va kompilyator komponentlarida mavjud. Tizim yuklangan [S1] fayllarni qayta ishlashda maʼlum shablon teglari ichida kiritilgan maʼlumotlarni toʻgʻri tekshira olmaydi yoki sanitarizatsiya qila olmaydi. Xususan, kompilyator [S1] HTML fayllari ichida yaratilgan INCLUDE yoki INCLURE teglarini noto'g'ri boshqaradi. Buzg'unchi ushbu yuklangan fayllarga valider_xml amali orqali kirsa, zararli teglar qayta ishlanadi va bu [S1] PHP kodining bajarilishiga olib keladi.

Ta'sir qilingan versiyalar

  • SPIP 3.1.2 versiyalari va barcha oldingi [S1] versiyalari.

Tuzatish

[S1] zaifligini bartaraf etish uchun SPIPni 3.1.2 dan yangiroq versiyaga yangilang. Fayllarni yuklash uchun ruxsatlar qat'iy ravishda ishonchli ma'muriy foydalanuvchilar uchun cheklanganligiga va yuklangan fayllar veb-server ularni [S1] skriptlari sifatida bajarishi mumkin bo'lgan kataloglarda saqlanmasligiga ishonch hosil qiling.

FixVibe buni qanday sinovdan o'tkazadi

FixVibe ushbu zaiflikni ikkita asosiy usul orqali aniqlashi mumkin:

  • Passiv barmoq izi: HTML manbasidagi HTTP javob sarlavhalari yoki maxsus meta teglarni tahlil qilish orqali FixVibe SPIP [S1] ishlayotgan versiyasini aniqlay oladi. Agar versiya 3.1.2 yoki undan pastroq bo'lsa, u yuqori darajadagi [S1] ogohlantirishini ishga tushiradi.
  • Repozitoriyni skanerlash: GitHub omborlarini ulagan foydalanuvchilar uchun FixVibe repo skaneri zaif o‘rnatishlarni aniqlash uchun FixVibe qaramlik fayllari yoki SPIP manba kodidagi versiyani aniqlovchi konstantalarni tekshirishi mumkin.