FixVibe
Covered by FixVibehigh

Nuotolinis kodo vykdymas SPIP naudojant šablonų žymas (CVE-2016-7998)

SPIP 3.1.2 ir senesnėse versijose yra šablono kūrėjo pažeidžiamumas. Autentifikuoti užpuolikai gali įkelti HTML failus su sukurtomis INCLUDE arba INCLURE žymomis, kad serveryje vykdytų savavališką PHP kodą.

CVE-2016-7998CWE-20

Poveikis

Autentifikuotas užpuolikas gali vykdyti savavališką PHP kodą pagrindiniame žiniatinklio serveryje [S1]. Tai leidžia pasiekti visišką sistemos kompromisą, įskaitant duomenų išfiltravimą, svetainės turinio modifikavimą ir šoninį judėjimą prieglobos aplinkoje [S1].

Pagrindinė priežastis

Pažeidžiamumas yra SPIP šablono kūrėjo ir kompiliatoriaus komponentuose [S1]. Apdorojant įkeltus failus [S1] sistemai nepavyksta tinkamai patvirtinti arba išvalyti įvesties konkrečiose šablono žymose. Tiksliau, kompiliatorius neteisingai tvarko sukurtas INCLUDE arba INCLURE žymas HTML failuose [S1]. Kai užpuolikas pasiekia šiuos įkeltus failus per veiksmą valider_xml, kenkėjiškos žymos apdorojamos, todėl paleidžiamas PHP kodas [S1].

Paveiktos versijos

  • SPIP versijos 3.1.2 ir visos ankstesnės versijos [S1].

Ištaisymas

Atnaujinkite SPIP į naujesnę nei 3.1.2 versiją, kad pašalintumėte šį pažeidžiamumą [S1]. Įsitikinkite, kad failų įkėlimo leidimai yra griežtai apriboti patikimiems administravimo vartotojams ir kad įkelti failai nėra saugomi kataloguose, kuriuose žiniatinklio serveris gali juos vykdyti kaip scenarijus [S1].

Kaip FixVibe tai tikrina

FixVibe gali aptikti šį pažeidžiamumą dviem pagrindiniais būdais:

  • Pasyvus pirštų atspaudų atspaudas: analizuodamas HTTP atsako antraštes arba konkrečias metažymes HTML šaltinyje, FixVibe gali nustatyti veikiančią SPIP [S1] versiją. Jei versija yra 3.1.2 arba senesnė, ji suaktyvins didelio pavojingumo įspėjimą [S1].
  • Saugyklų nuskaitymas: naudotojams, kurie jungia savo GitHub saugyklas, FixVibe saugyklos skaitytuvas gali patikrinti priklausomybės failus arba versiją apibrėžiančias konstantas SPIP šaltinio kode, kad nustatytų pažeidžiamus įrenginius GitHub.