FixVibe
Covered by FixVibehigh

Koodi kaugkäivitamine SPIP-is mallisiltide kaudu (CVE-2016-7998)

SPIP-i versioonid 3.1.2 ja varasemad sisaldavad malli koostaja haavatavust. Autentitud ründajad saavad serveris suvalise PHP-koodi käivitamiseks üles laadida HTML-faile koos loodud INCLUDE või INCLURE siltidega.

CVE-2016-7998CWE-20

Mõju

Autentitud ründaja võib käivitada suvalise PHP-koodi aluseks olevas veebiserveris [S1]. See võimaldab täielikku süsteemi kompromissi, sealhulgas andmete eksfiltreerimist, saidi sisu muutmist ja külgsuunalist liikumist hostimiskeskkonnas [S1].

Algpõhjus

Haavatavus esineb SPIP-malli koostaja ja kompilaatori komponentides [S1]. Süsteem ei suuda üleslaaditud failide [S1] töötlemisel konkreetsete mallimärgendite sisendit õigesti kinnitada ega puhastada. Täpsemalt käsitleb kompilaator valesti HTML-failides [S1] loodud silte INCLUDE või INCLURE. Kui ründaja pääseb neile üleslaaditud failidele juurde toimingu valider_xml kaudu, töödeldakse pahatahtlikke silte, mis viib PHP-koodi täitmiseni [S1].

Mõjutatud versioonid

  • SPIP-i versioonid 3.1.2 ja kõik varasemad versioonid [S1].

Heastamine

Selle haavatavuse ([S1]) kõrvaldamiseks värskendage SPIP-i versioonile, mis on uuem kui 3.1.2. Veenduge, et failide üleslaadimise õigused on rangelt piiratud usaldusväärsete administraatorikasutajatega ja et üleslaaditud faile ei salvestata kataloogidesse, kus veebiserver saab neid käivitada skriptidena [S1].

Kuidas FixVibe seda testib

FixVibe võib selle haavatavuse tuvastada kahe peamise meetodi abil.

  • Passiivne sõrmejälg: HTML-i allika HTTP vastuse päiseid või konkreetseid metasilte analüüsides saab FixVibe tuvastada SPIP [S1] jooksva versiooni. Kui versioon on 3.1.2 või vanem, käivitab see tõsise hoiatuse [S1].
  • Hoidlate skannimine: kasutajate jaoks, kes ühendavad oma GitHub hoidlaid, saab FixVibe reposkanner kontrollida SPIP-i lähtekoodi sõltuvusfaile või versioonimääratlevaid konstante, et tuvastada haavatavad installid GitHub.