
Exploit de prova de conceito para CVE-2023-33404: vulnerabilidade de upload de arquivo autenticado no BlogEngine.NET CMS 3.3.8.0 e anteriores, permitindo execução remota de código através de um caminho de upload codificado.
Um usuário que tenha o direito EditOwnPosts no BlogEngine.NET CMS (versão 3.3.8.0 e anteriores) tem a capacidade de fazer upload de um arquivo malicioso para um local fixo no código.
Uma solicitação POST para o endpoint /api/upload com os parâmetros "action=video", conforme mostrado na captura de tela abaixo, aciona um processo de upload de arquivo.

O aplicativo primeiro verifica se o usuário tem direitos EditOwnPosts para prosseguir com o upload do vídeo; caso contrário, o aplicativo gera um erro.
Conforme mostrado na captura de tela abaixo, nas linhas 101 e 105, o aplicativo define um local fixo no código para os arquivos enviados. Depois disso, ele chama uma função chamada UploadVideo (na linha 107)

A função UploadVideo verifica se o diretório de destino existe, cria-o se não existir e salva o arquivo no diretório.

Conforme mostrado na captura de tela abaixo, ele move o arquivo malicioso para o diretório fixo no código. Solicitar o arquivo que foi enviado leva à execução remota de código (RCE).
