FixVibe
Covered by FixVibehigh

Koodin etäsuoritus SPIP:ssä mallitunnisteiden kautta (CVE-2016-7998)

SPIP-versiot 3.1.2 ja aiemmat versiot sisältävät haavoittuvuuden mallin laatijassa. Autentikoidut hyökkääjät voivat ladata HTML-tiedostoja muotoilluilla INCLUDE- tai INCLURE-tageilla suorittaakseen mielivaltaisen PHP-koodin palvelimella.

CVE-2016-7998CWE-20

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.