
POC لـ CVE-2026-78006 The Events Calendar <= 6.17.4 - حقن كائنات PHP غير المصادق عليه إلى تنفيذ التعليمات البرمجية عن بُعد
POC for CVE-2026-78006 The Events Calendar <= 6.17.4 - Unauthenticated PHP Object Injection to Remote Code Execution
#CONTACT telegram for any ask : @soldout0O
إذا كنت تقدّر عملي، فكّر في دعم المشروع عبر USDT (TRC20): TQBA72kakjCZLnJt8fJYcD7dyQCEpzNtVN
تحتوي إضافة The Events Calendar الخاصة بـ WordPress على ثغرة حقن كائنات PHP غير المُصادَق عليها يمكن ربطها للوصول إلى تنفيذ التعليمات عن بُعد.
يتضمن مسار الكود المصاب ما يلي:
is_safe_widget_instance()enable_rendering_widget_copied()unserialize()do_blocks()في ظل الشروط الموثّقة، يمكن لمهاجم غير مُصادَق عليه إرسال ترميز كتلة مُصمَّم عبر تعليق حدث والوصول إلى مسار إلغاء التسلسل المصاب قبل حدوث الإشراف على التعليق.
توجد الثغرة لأن الحماية التي توفّرها الإضافة حول نسخ الودجات غير كافية.
يمكن تلخيص المسار المصاب كما يلي:```text Unauthenticated Comment | v Pending Event Comment | v WordPress Moderation-Hash URL | v Unauthenticated Author Can View Own Pending Comment | v V2 Single-Event Template | v do_blocks() | v Injected Block Markup | v enable_rendering_widget_copied() | v Forged Integrity Attribute | v is_safe_widget_instance() | v PHP Magic Methods / Object Deserialization | v unserialize() | v PHP Object Injection | v Remote Code Execution
---
# الإضافة المتأثرة
**الإضافة:** The Events Calendar
**الثغرة:** حقن كائن PHP غير مُصادَق عليه يؤدي إلى
تنفيذ تعليمات برمجية عن بُعد
**الإصدارات المتأثرة:** جميع الإصدارات حتى الإصدار **6.17.4** ضمناً،
وفقاً لتنبيه Wordfence.
> [!IMPORTANT]
> يحدد إثبات المفهوم البحثي المنشور حالياً مع هذا المستودع
> نفسه داخلياً بأنه يستهدف `<= 6.17.2`.
>
> نطاق الإصدارات المذكور أعلاه يتبع تنبيه Wordfence
> (`<= 6.17.4`). تحقق دائماً من الإصدار المصاب/المُصلَّح الدقيق مقابل
> تنبيه المورّد قبل اختبار أي عملية نشر.
---
# السبب الجذري
يرتبط السلوك المصاب بالتفاعل بين
فحص أمان الودجة وسلوك إلغاء تسلسل الكائنات في PHP.
الدوال الرئيسية المعنية هي:```text
is_safe_widget_instance()
enable_rendering_widget_copied()
فحص الأمان غير كافٍ لأن PHP يمكنه استدعاء الدوال السحرية أثناء سلوك التحليل/إلغاء التسلسل الخاص به قبل أن يوفر التحقق الأمني المقصود حماية فعالة.
تعتمد السلسلة أيضًا على قيام الإضافة بإنشاء قيمة سلامة صالحة لنسخة الودجة المقدمة.
من أهم خصائص هذه الثغرة أنها لا تتطلب من المهاجم امتلاك حساب WordPress موجود.
يستغل مسار الهجوم الطريقة التي يعرض بها WordPress تعليق المستخدم المعلّق الخاص به عبر رابط تجزئة الإشراف.
الشروط ذات الصلة هي:```text Comments enabled + Comments visible on events + Attacker can submit an event comment + V2 single-event template active
بعد إرسال تعليق، يمكن لـ WordPress توفير رابط moderation-hash غير مُصادَق عليه يسمح للمعلّق بعرض تعليقه المعلّق الخاص به.
وهذا يُنشئ آلية تسليم غير مُصادَق عليها لترميز الكتلة المُصمَّم.
---
# الشرح التقني
## 1. إرسال التعليق
يقوم المهاجم بإرسال تعليق مرتبط بحدث.
لا يحتاج التعليق إلى الموافقة عليه.
الخاصية المهمة هي أن WordPress يمكنه كشف التعليق من خلال آلية moderation-hash.
---
## 2. الوصول عبر Moderation-Hash
يوفّر WordPress للمعلّق رابطًا يسمح له بعرض تعليقه المعلّق الخاص به.
وهذا يعني أن المهاجم يمكنه الوصول إلى مسار العرض القابل للاستغلال دون انتظار الإشراف.
من الناحية المفاهيمية:```text
POST Comment
|
v
Pending Comment
|
v
Moderation Hash
|
v
Unauthenticated Access
تتولى قالب الحدث الفردي V2 الخاص بـ Events Calendar معالجة محتوى الحدث و HTML المرتبط بالتعليقات.
مسار المعالجة ذو الصلة في WordPress يصل في النهاية إلى:```text do_blocks()
هذا مهم لأن ترميز الكتلة المضمّن في المحتوى المعروض
يُفسَّر كبيانات كتلة WordPress.
---
## 4. بيانات كتلة مُصمَّمة
يبني PoC كتلة أداة قديمة (legacy-widget) تحتوي على نسخة أداة
مُسلسَلة.
يبني تنفيذ البحث الكتلة باستخدام نسخة مُسلسَلة مُرمَّزة
وخاصية سلامة (integrity attribute).
يعالج المسار القابل للاستغلال هذه البيانات في النهاية كنسخة أداة.
---
## 5. تجاوز السلامة
يمكن إساءة استخدام سلوك `enable_rendering_widget_copied()` الخاص بالإضافة
لإنتاج خاصية سلامة صالحة لبيانات الأداة التي يتحكم بها المهاجم.
يتيح ذلك لنسخة الأداة الخبيثة اجتياز فحص السلامة المتوقع
والوصول إلى مسار المعالجة القابل للاستغلال.
---
## 6. معالجة الكائنات غير الآمنة
حماية `is_safe_widget_instance()` القابلة للاستغلال غير كافية
ضد الكائن المُقدَّم عبر نسخة الأداة المُصمَّمة.
يمكن لسلوك معالجة الكائنات في PHP استدعاء الدوال السحرية (magic methods) أثناء
عملية إلغاء التسلسل.
النتيجة هي بدائية حقن كائنات PHP قابلة للاستغلال.
---
## 7. سلسلة الأدوات (Gadget Chain)
يبني PoC البحث بنى كائنات WordPress / The Events Calendar
التي توفر سلوكًا قابلًا للاستدعاء أثناء إلغاء التسلسل.
يستخدم PoC كائنات موجَّهة للاستدعاء المرتد وبنى أصناف مُسلسَلة
لبناء حمولة البحث.
---
## 8. تنفيذ الكود
التأثير النهائي هو تنفيذ الكود عن بُعد (Remote Code Execution).
يحتوي PoC على مرحلة webshell بحثية ومنطق
إنشاء مسؤول (administrator).
للتحقق الآمن من الثغرة، فإن الحد الأمني المهم
قد تم إثباته بالفعل من خلال التنفيذ الناجح لسلسلة
إلغاء التسلسل القابلة للاستغلال.
---
# لماذا الثغرة حرجة
الجمع بين:```text
Unauthenticated
+
Remote
+
PHP Object Injection
+
RCE
يُنشئ مسار هجوم عالي التأثير.
لا يحتاج المهاجم إلى:
الشرط البيئي الأساسي هو أن يكون مسار عرض الحدث/التعليق القابل للاستغلال قابلاً للوصول.
يحتوي المستودع على تنفيذ بحثي بلغة Python.
إثبات المفهوم المرفوع هو مشغّل غير متزامن حول منطق البحث الأصلي.
يستخدم:```text Python aiohttp rich
يقوم التنفيذ بتنفيذ سلسلة الثغرات من خلال تسليم الحمولة على مراحل والتحقق منها.
يصف مصدر PoC بنيته على النحو التالي:```text
payload building
|
v
stage 1
|
v
verification
|
v
stage 2
يتضمن تنفيذ البحث وظائف لـ:
يتضمن PoC أيضًا فحوصات واعية بالمنصة لبيئات Windows وUnix-like.
يمكن استخدام أداة البحث ضد تثبيت WordPress فردي مصرح به.
من الناحية المفاهيمية:```text Single URL | v Target Discovery | v Event Discovery | v Comment Delivery | v Vulnerability Trigger | v Verification
سير عمل هدف واحد مفيد من أجل:
* المختبرات المحلية
* أنظمة الاختبار
* إعادة إنتاج CVE
* اختبار البائعين
* اختبار الاختراق المصرح به
* البحث الأمني
---
# قائمة عناوين URL
يدعم المشغّل غير المتزامن أيضًا قائمة من عناوين URL.
تنسيق الإدخال هو:```text
one URL per line
مثال:```text https://lab-wordpress-01.example https://lab-wordpress-02.example https://lab-wordpress-03.example
يمكن تجاهل الأسطر الفارغة والتعليقات.
يقوم المشغّل بتحميل الأهداف ومعالجتها بشكل متزامن باستخدام
عدد الخيوط/التزامن المُهيأ.
---
# المعالجة المتزامنة
يدعم PoC المعالجة المتزامنة لعدة أهداف.
من الناحية المفاهيمية:```text
URL LIST
|
+-----------+-----------+
| | |
v v v
Worker 1 Worker 2 Worker 3
| | |
v v v
Target Target Target
| | |
+-----------+-----------+
|
v
Results
يستخدم التنفيذ سيمافور غير متزامن للتحكم في مستوى التزامن.