Vaikutus
Todennettu hyökkääjä voi suorittaa mielivaltaisen PHP-koodin taustalla olevassa verkkopalvelimessa [S1]. Tämä mahdollistaa täydellisen järjestelmän kompromissin, mukaan lukien tietojen suodattamisen, sivuston sisällön muokkaamisen ja sivuttaisliikkeen isännöintiympäristössä [S1].
Perussyy
Haavoittuvuus on SPIP-mallin laatimis- ja kääntäjäkomponenteissa [S1]. Järjestelmä ei pysty vahvistamaan tai puhdistamaan syöttöä oikein tietyissä mallitunnisteissa käsitellessään ladattuja tiedostoja [S1]. Erityisesti kääntäjä käsittelee väärin muotoiltuja INCLUDE- tai INCLURE-tageja HTML-tiedostoissa [S1]. Kun hyökkääjä käyttää näitä ladattuja tiedostoja valider_xml-toiminnolla, haitalliset tunnisteet käsitellään, mikä johtaa PHP-koodin suorittamiseen [S1].
Versiot, joita tämä vaikuttaa
- SPIP-versiot 3.1.2 ja kaikki aiemmat versiot [S1].
Korjaus
Päivitä SPIP uudempaan versioon kuin 3.1.2 korjataksesi tämän haavoittuvuuden [S1]. Varmista, että tiedostojen latausoikeudet on rajoitettu tiukasti luotetuille järjestelmänvalvojille ja että ladattuja tiedostoja ei tallenneta hakemistoihin, joissa verkkopalvelin voi suorittaa ne komentosarjoina [S1].
Kuinka FixVibe testaa sitä
FixVibe voi havaita tämän haavoittuvuuden kahdella ensisijaisella menetelmällä:
- Passiivinen sormenjälki: Analysoimalla HTTP-vastausten otsikoita tai tiettyjä sisällönkuvauskenttiä HTML-lähteessä FixVibe voi tunnistaa SPIP [S1]:n käynnissä olevan version. Jos versio on 3.1.2 tai vanhempi, se laukaisi vakavan hälytyksen [S1].
- Arkiston tarkistus: Käyttäjille, jotka yhdistävät GitHub-tietovarastonsa, FixVibe:n arkistotarkistus voi tarkastaa SPIP-lähdekoodin riippuvuustiedostoja tai versiota määrittävät vakiot tunnistaakseen haavoittuvia asennuksia GitHub.
