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.
