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

gefunden von Red Timmy Security
Technische Analyse:
Sicherheitshinweis:
Die Datei change_config.php von FlexPaper (PHP) prüft nicht, ob der Administrator ordnungsgemäß authentifiziert ist, wodurch ein Angreifer beliebige Dateien auf dem Server löschen kann:

unlink zu löschenEin Angreifer kann eine Anfrage wie diese erstellen und Dateien im Ordner seiner Wahl löschen:
POST /flexpaper/php/change_config.php HTTP/1.1
Host: 127.0.0.1:8888
[...]
SAVE_CONFIG=1&SWF_Directory=config/
Mit dieser Anfrage löscht ein Angreifer alle Dateien im Verzeichnis config.
Da alle Dateien im Ordner config/ gelöscht wurden, geht FlexPaper davon aus, dass die Anwendung nie initialisiert wurde:

Daher kann ein Angreifer FlexPaper erneut einrichten. Aber warum?
In setup.php gibt es eine Funktion namens pdf2swfEnabled, die den PHP-Befehl exec mit einem Parameter verwendet, der vom Benutzer per POST übergeben wird. Da dies die Initialisierung von FlexPaper ist (siehe Schritt 2), gibt es keine Authentifizierung.

Ein Angreifer kann einen Payload wie diesen erstellen: ?step=4&PDF2SWF_PATH=id;, was zu exec(id; --version 2>&1) führt.
Der Angreifer kann die Ausgabe des Befehls in eine Datei im Ordner config umleiten und eine GET-Anfrage stellen, um die Ausgabe zu lesen:

Die Authentifizierungsprüfung wurde am Anfang von change_config.php hinzugefügt.
