Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-5076 — استغلال لإثبات المفهوم لثغرة CVE-2026-5076 يوضح الاستيلاء غير المُصادَق عليه على حساب المسؤول في ARMember Premium عبر حقن SQL وتخزين مفتاح إعادة تعيين كلمة المرور كنصٍّ صريح. | Kitploit
أدوات/GitHubGitHub/zycoder0day/cve-2026-5076
هجمات كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقة
GitHubzycoder0day/cve-2026-5076

CVE-2026-5076

استغلال لإثبات المفهوم لثغرة CVE-2026-5076 يوضح الاستيلاء غير المُصادَق عليه على حساب المسؤول في ARMember Premium عبر حقن SQL وتخزين مفتاح إعادة تعيين كلمة المرور كنصٍّ صريح.

عرض المستودع
43منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

☠️ CVE-2026-5076

ARMember Premium <= 7.3.1

آلية إعادة تعيين كلمة المرور غير آمنة → استيلاء كامل على حساب المسؤول

مفاتيح إعادة تعيين كلمة المرور المخزنة كنص صريح في قاعدة البيانات + حقن SQL = استيلاء كامل على حساب المسؤول


📋 معلومات الثغرة

العنصرالتفاصيل
CVE IDCVE-2026-5076
الملحقARMember – Membership Plugin & Content Restriction
النسخة المتأثرةPremium <= 7.3.1
النسخة المصححة7.3.2
درجة CVSS9.8 حرجة
CWECWE-640: Weak Password Recovery
النوعآلية إعادة تعيين كلمة المرور غير آمنة → تخزين المفتاح كنص صريح
ناقل الهجومشبكة / عن بُعد / بدون مصادقة (عبر سلسلة SQLi)
التثبيتات النشطة30,000+ (Premium)
المكتشفWordfence Threat Intelligence
تاريخ النشر3 يونيو 2026

ثغرات ذات صلة (نفس النشرة)

CVEالنوعالخطورة
CVE-2026-5076إعادة تعيين كلمة مرور غير آمنة — تخزين المفتاح كنص صريح9.8 حرجة
CVE-2026-5073حقن SQL بدون مصادقة (ORDER BY)9.8 حرجة
CVE-2026-5074حقن SQL بدون مصادقة (WHERE)9.8 حرجة

🎯 الملخص

ثلاث ثغرات حرجة في ملحق ووردبريس ARMember Premium <= 7.3.1 والتي عند ربطها معًا تتيح الاستيلاء الكامل على حساب المسؤول بدون مصادقة:

  1. CVE-2026-5076 — يتم تخزين مفتاح إعادة تعيين كلمة المرور في نص صريح في wp_usermeta (arm_reset_password_key)، وليس مجزأً كما في معيار ووردبريس
  2. CVE-2026-5073 — حقن SQL في معامل order في معالج AJAX arm_directory_paging_action()
  3. CVE-2026-5074 — حقن SQL في معامل filter في معالج AJAX arm_directory_paging_action()

النتيجة المباشرة لـ CVE-2026-5076: أي شخص لديه وصول للقراءة إلى قاعدة البيانات (عبر SQLi، تعرض النسخ الاحتياطية، وما إلى ذلك) يمكنه قراءة مفتاح إعادة تعيين كلمة المرور في شكل نص صريح واستخدامه مباشرة لإعادة تعيين كلمة مرور أي حساب — دون الحاجة إلى كسر التشفير.


🔬 التحليل الفني

السبب الجذري #1: تخزين المفتاح كنص صريح (CVE-2026-5076)

يخزن ووردبريس القياسي مفتاح إعادة تعيين كلمة المرور في العمود user_activation_key في شكل مجزأ باستخدام wp_hash(). بينما يخزن ARMember نسخة من المفتاح نفسه في wp_usermeta مع meta_key باسم arm_reset_password_key — لكن في شكل نص صريح (PLAINTEXT):```php // FILE: armember-membership/core/class.arm_member_forms.php // Fungsi: arm_lost_password_action()

// WordPress menyimpan HASHED key (aman) $key = wp_generate_password(20, false); $wp_key = $wpdb->get_var( $wpdb->prepare("SELECT user_activation_key FROM $wpdb->users WHERE user_login=%s", $user_login) );

// ARMember menyimpan PLAINTEXT key (VULNERABLE!) update_user_meta($user_id, 'arm_reset_password_key', $wp_key); // ^^^^^^ // Ini adalah key ASLI yang bisa langsung dipakai

**مشكلة حرجة**: `$wp_key` هنا هو المفتاح الذي يولّده `wp_generate_password(20, false)` — 20 حرفًا أبجديًا رقميًا. WordPress يجزّئ هذا المفتاح قبل تخزينه في `user_activation_key`، لكن ARMember يخزّنه **قبل التجزئة** أو يخزّن نسخة منفصلة **غير مجزّأة**.

### السبب الجذري #2: خلل استمرار المفتاح

عندما يتم استدعاء `get_password_reset_key()` (نواة WordPress)، يتم توليد مفتاح جديد وتجزئته. لكن هذه الدالة **لا تقوم بتحديث** `arm_reset_password_key`:```php
// WordPress core: get_password_reset_key($user)
// - Generate key baru
// - Hash key → simpan di user_activation_key
// - Return key plaintext
// - TAPI: arm_reset_password_key TIDAK diupdate!

ونتيجة لذلك، يظل مفتاح النص العادي القديم مخزّنًا إلى الأبد في arm_reset_password_key حتى بعد قيام المستخدم بإعادة تعيين كلمة المرور. يمكن استخدام هذا المفتاح مرارًا وتكرارًا حتى يتم حذف المفتاح التعريفي (meta key) صراحةً.

السبب الجذري #3: SQL Injection (CVE-2026-5073/5074)

معالج AJAX arm_directory_paging_action() يحتوي على فحص nonce عبر arm_check_user_cap()، لكن المعاملين order وfilter يدخلان مباشرةً إلى استعلام SQL دون تعقيم (sanitization):```php // FILE: armember-membership/core/class.arm_member_forms.php // Fungsi: arm_directory_paging_action()

// Nonce check (dibutuhkan nonce valid) $nonce_check = $this->arm_check_user_cap();

// ORDER BY injection — langsung ke SQL tanpa sanitasi! $orderby = "u.{$arm_member} {$order_dir}"; // $order_dir dari $_POST['order'] → LANGSUNG ke ORDER BY

// WHERE injection via filter if (!empty($filter)) { $where .= " AND " . $filter; // ← LANGSUNG concatenation! }

**استغلال ORDER BY**: يتم إدخال المعامل `order` في جملة `ORDER BY` في SQL. نظرًا لعدم وجود تنظيف للمدخلات، يمكن للمهاجم حقن استعلام فرعي:```sql
-- Payload SQLi via parameter order
ORDER BY u.ID ASC, IF(COND, 1, EXP(710))

-- COND = TRUE  → IF returns 1 → ORDER BY 1 → response normal (besar)
-- COND = FALSE → IF returns EXP(710) → MySQL overflow ERROR → response 90B

Oracle هذا محصّن ضد تأخير الشبكة لأنه يميز TRUE/FALSE بناءً على الخطأ مقابل النجاح، وليس وقت الاستجابة.


⛓️ خارطة طريق سلسلة الهجوم```

╔══════════════════════════════════════════════════════════════════════════════════╗ ║ CVE-2026-5076 FULL CHAIN ATTACK ROADMAP ║ ║ ARMember Premium <= 7.3.1 → Unauthenticated Admin Takeover ║ ╚══════════════════════════════════════════════════════════════════════════════════╝

تنزيل الأداة