FixVibe
Covered by FixVibehigh

Remote Code Execution sa SPIP sa pamamagitan ng Template Tags (CVE-2016-7998)

Ang mga bersyon ng SPIP 3.1.2 at mas nauna ay naglalaman ng kahinaan sa template composer. Maaaring mag-upload ng mga HTML na file ang mga napatotohanang umaatake na may mga ginawang INCLUDE o INCLURE tag upang magsagawa ng arbitrary na PHP code sa server.

CVE-2016-7998CWE-20

Epekto

Ang isang authenticated attacker ay maaaring magsagawa ng arbitrary na PHP code sa pinagbabatayan na web server na [S1]. Nagbibigay-daan ito para sa kumpletong kompromiso sa system, kabilang ang data exfiltration, pagbabago ng nilalaman ng site, at lateral na paggalaw sa loob ng hosting environment na [S1].

Root Cause

Ang kahinaan ay umiiral sa SPIP template composer at compiler component [S1]. Nabigo ang system na maayos na ma-validate o i-sanitize ang input sa loob ng mga partikular na tag ng template kapag nagpoproseso ng mga na-upload na file [S1]. Sa partikular, maling pinangangasiwaan ng compiler ang mga ginawang INCLUDE o INCLURE tag sa loob ng mga HTML file na [S1]. Kapag na-access ng isang attacker ang mga na-upload na file na ito sa pamamagitan ng pagkilos na valider_xml, pinoproseso ang mga nakakahamak na tag, na humahantong sa pagpapatupad ng PHP code na [S1].

Mga Apektadong Bersyon

  • Mga bersyon ng SPIP 3.1.2 at lahat ng naunang bersyon [S1].

Remediation

I-update ang SPIP sa isang bersyon na mas bago sa 3.1.2 upang matugunan ang kahinaang ito [S1]. Siguraduhin na ang mga pahintulot sa pag-upload ng file ay mahigpit na pinaghihigpitan sa mga pinagkakatiwalaang administratibong user at ang mga na-upload na file ay hindi nakaimbak sa mga direktoryo kung saan maaaring isagawa ng web server ang mga ito bilang mga script na [S1].

Paano sinusuri ito ng FixVibe

Maaaring makita ng FixVibe ang kahinaang ito sa pamamagitan ng dalawang pangunahing pamamaraan:

  • Passive Fingerprinting: Sa pamamagitan ng pagsusuri sa mga header ng tugon ng HTTP o mga partikular na meta tag sa HTML source, matutukoy ng FixVibe ang tumatakbong bersyon ng SPIP [S1]. Kung ang bersyon ay 3.1.2 o mas mababa, ito ay magti-trigger ng isang mataas na kalubhaan alerto [S1].
  • Repository Scanning: Para sa mga user na kumokonekta sa kanilang GitHub repository, maaaring suriin ng repo scanner ng FixVibe ang mga dependency file o version-defining constants sa SPIP source code upang matukoy ang mga vulnerable na installation ZXCVFIXXVIBETOKEN0ZXCV.