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

encontrado por Red Timmy Security
Análise Técnica:
Aviso de segurança:
O arquivo change_config.php do FlexPaper (PHP) não verifica se o administrador está autenticado corretamente, permitindo que um atacante exclua arquivos arbitrários no servidor:

unlinkUm atacante pode criar uma requisição como esta e excluir arquivos na pasta de sua escolha:
POST /flexpaper/php/change_config.php HTTP/1.1
Host: 127.0.0.1:8888
[...]
SAVE_CONFIG=1&SWF_Directory=config/
Com esta requisição, um atacante exclui todos os arquivos no diretório config.
Como todos os arquivos na pasta config/ são excluídos, o FlexPaper pensará que a aplicação nunca foi inicializada:

Portanto, um atacante pode configurar novamente o FlexPaper. Mas por quê?
Dentro do setup.php existe uma função chamada pdf2swfEnabled que usa o comando exec em PHP com um parâmetro passado via POST pelo usuário. Como esta é a inicialização (verificação 2.) do FlexPaper, não há autenticação.

Um atacante pode criar um payload como este: ?step=4&PDF2SWF_PATH=id; resultando em exec(id; --version 2>&1).
O atacante pode redirecionar a saída do comando para um arquivo dentro da pasta config e fazer uma requisição GET para ler a saída:

A verificação de autenticação foi adicionada no início do change_config.php
