
CVE-2018-11686 - FlexPaper PHP Publish Service RCE <= 2.3.6
CVE-2018-11686 - FlexPaper PHP Publish Service RCE <= 2.3.6

trovato da Red Timmy Security
Analisi tecnica:
Avviso di sicurezza:
Il file change_config.php di FlexPaper (PHP) non verifica che l'amministratore sia autenticato correttamente, consentendo a un attaccante di eliminare file arbitrari sul server:

unlink di PHPUn attaccante può creare una richiesta come questa ed eliminare file nella cartella a sua scelta:
POST /flexpaper/php/change_config.php HTTP/1.1
Host: 127.0.0.1:8888
[...]
SAVE_CONFIG=1&SWF_Directory=config/
Con questa richiesta, un attaccante elimina tutti i file nella directory config.
Poiché tutti i file nella cartella config/ vengono eliminati, FlexPaper penserà che l'applicazione non sia mai stata inizializzata:

Perciò un attaccante può configurare nuovamente FlexPaper. Ma perché?
All'interno di setup.php c'è una funzione chiamata pdf2swfEnabled che usa il comando exec in PHP con un parametro passato in POST dall'utente. Poiché questa è l'inizializzazione (passo 2.) di FlexPaper, non c'è autenticazione.

Un attaccante può creare un payload come questo: ?step=4&PDF2SWF_PATH=id; che risulta in exec(id; --version 2>&1).
L'attaccante può reindirizzare l'output del comando all'interno di un file nella cartella config ed effettuare una richiesta GET per leggere l'output:

Il controllo di autenticazione è stato aggiunto all'inizio di change_config.php
