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
