FixVibe
Covered by FixVibehigh

Esecuzione del codice remoto in SPIP tramite tag modello (CVE-2016-7998)

Le versioni SPIP 3.1.2 e precedenti contengono una vulnerabilità nel compositore dei modelli. Gli aggressori autenticati possono caricare file HTML con tag INCLUDE o INCLURE predisposti per eseguire codice PHP arbitrario sul server.

CVE-2016-7998CWE-20

Impatto

Un utente malintenzionato autenticato può eseguire codice PHP arbitrario sul server Web sottostante [S1]. Ciò consente la compromissione completa del sistema, inclusa l'esfiltrazione dei dati, la modifica del contenuto del sito e lo spostamento laterale all'interno dell'ambiente hosting [S1].

Causa principale

La vulnerabilità esiste nel compositore di modelli SPIP e nei componenti del compilatore [S1]. Il sistema non riesce a convalidare o disinfettare correttamente l'input all'interno di tag modello specifici durante l'elaborazione dei file caricati [S1]. Nello specifico, il compilatore gestisce in modo errato i tag INCLUDE o INCLURE all'interno dei file HTML [S1]. Quando un utente malintenzionato accede a questi file caricati tramite l'azione valider_xml, i tag dannosi vengono elaborati, portando all'esecuzione del codice PHP [S1].

Versioni interessate

  • Versioni SPIP 3.1.2 e tutte le versioni precedenti [S1].

Bonifica

Aggiorna SPIP a una versione più recente della 3.1.2 per risolvere questa vulnerabilità [S1]. Assicurarsi che le autorizzazioni di caricamento dei file siano strettamente limitate agli utenti amministrativi fidati e che i file caricati non siano archiviati in directory in cui il server Web può eseguirli come script [S1].

Come lo esegue il test FixVibe

FixVibe potrebbe rilevare questa vulnerabilità attraverso due metodi principali:

  • Fingerprinting passivo: Analizzando le intestazioni di risposta HTTP o meta tag specifici nel sorgente HTML, FixVibe può identificare la versione in esecuzione di SPIP [S1]. Se la versione è 3.1.2 o precedente, attiverebbe un avviso di gravità elevata [S1].
  • Scansione del repository: per gli utenti che collegano i propri repository GitHub, lo scanner del repository di FixVibe può ispezionare i file di dipendenza o le costanti di definizione della versione nel codice sorgente SPIP per identificare le installazioni vulnerabili [S1].