FixVibe
Covered by FixVibehigh

Vzdialené spustenie kódu v SPIPe prostredníctvom značiek šablón (CVE-2016-7998)

SPIP verzie 3.1.2 a staršie obsahujú chybu v skladateľovi šablón. Overení útočníci môžu nahrať súbory HTML s vytvorenými značkami INCLUDE alebo INCLURE na spustenie ľubovoľného kódu PHP na serveri.

CVE-2016-7998CWE-20

Vplyv

Overený útočník môže spustiť ľubovoľný PHP kód na základnom webovom serveri [S1]. To umožňuje kompletný systémový kompromis vrátane exfiltrácie údajov, úpravy obsahu stránok a bočného pohybu v rámci hostiteľského prostredia [S1].

Hlavná príčina

Chyba zabezpečenia existuje v komponentoch skladateľa a kompilátora šablón SPIP [S1]. Systému sa pri spracovaní nahraných súborov [S1] nedarí správne overiť alebo dezinfikovať vstup v rámci konkrétnych značiek šablón. Konkrétne kompilátor nesprávne spracováva vytvorené značky INCLUDE alebo INCLURE v súboroch HTML [S1]. Keď útočník pristúpi k týmto nahraným súborom prostredníctvom akcie valider_xml, škodlivé značky sa spracujú, čo vedie k spusteniu kódu PHP [S1].

Ovplyvnené verzie

  • SPIP verzie 3.1.2 a všetky predchádzajúce verzie [S1].

Oprava

Aktualizujte SPIP na verziu novšiu ako 3.1.2, aby ste vyriešili túto chybu zabezpečenia [S1]. Uistite sa, že povolenia na nahrávanie súborov sú prísne obmedzené na dôveryhodných správcovských používateľov a že nahrávané súbory nie sú uložené v adresároch, kde ich môže webový server spustiť ako skripty [S1].

Ako to testuje FixVibe

FixVibe by mohol odhaliť túto zraniteľnosť prostredníctvom dvoch základných metód:

  • Pasívne odtlačky prstov: Analýzou hlavičiek odpovedí HTTP alebo špecifických metaznačiek v zdroji HTML dokáže FixVibe identifikovať spustenú verziu SPIP [S1]. Ak je verzia 3.1.2 alebo nižšia, spustí sa veľmi závažná výstraha [S1].
  • Skenovanie repozitára: Pre používateľov, ktorí pripájajú svoje repozitáre GitHub, môže repo skener FixVibe kontrolovať súbory závislostí alebo konštanty definujúce verziu v zdrojovom kóde SPIP a identifikovať zraniteľné inštalácie ZXCVFIXVIBETOKEN.0ZX