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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-78159 — إثبات مفهوم استغلال لـ CVE-2026-78159، وهو RCE غير مُصادَق عليه في إضافة The Events Calendar لـ WordPress عبر مصرف فئات أداة parse_array. | Kitploit
أدوات/GitHubGitHub/abraxas/cve-2026-78159
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقأداة الوصول عن بعد
GitHubabraxas/cve-2026-78159

CVE-2026-78159

إثبات مفهوم استغلال لـ CVE-2026-78159، وهو RCE غير مُصادَق عليه في إضافة The Events Calendar لـ WordPress عبر مصرف فئات أداة parse_array.

عرض المستودع
منذ 7س 27دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs — CVE-2026-78159

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-78159

CVE-2026-78159

The Events Calendar 6.17.3 — stellarwp

إن إضافة The Events Calendar الخاصة بـ WordPress معرّضة لتنفيذ التعليمات البرمجية عن بُعد (Remote Code Execution) في جميع الإصدارات حتى الإصدار 6.17.3 ضمناً عبر الدالة parse_array. ويعود ذلك إلى عدم كفاية التحقق من خريطة 'classes' الخاصة بالودجت، مما يسمح بحمولة من نوع plain-array بتجاوز فحص الكائن is_safe_widget_instance() والوصول إلى نقطة استدعاء الدوال القابلة للاستدعاء في Element_Classes::parse_array(). وهذا يجعل من الممكن للمهاجمين غير المصادَّق عليهم تنفيذ تعليمات برمجية على الخادم. يتطلب الاستغلال أن يكون التعليقات مفعّلة على منشورات tribe_events في الموقع المستهدف، وأن يكون قد تم إرسال تعليق واحد على الأقل يحتوي على كتلة wp:legacy-widget مُصمَّمة، حيث يتم تفعيل سلسلة الهجوم عندما تعالج do_blocks() صفحة HTML للحدث الفردي بما في ذلك منطقة التعليقات.

CVECVE-2026-78159 · CVE.org
CWECWE-94
CVSSحرج: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
المنتجThe Events Calendar
المتأثرجميع الإصدارات حتى 6.17.3 (ضمناً)
المُرقَّع6.17.3.1 وما بعده
المصادقةلا شيء (انظر خريطة المصدر)
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط · حزمة إفصاح للمورّد/العميل، وليست ماسحاً ضوئياً

الإشعار (من خريطة المصدر)

parse_array هي نقطة الوصول (sink)، وليست إجراء ajax action=. الاتصال عبر HTTP هو POST /wp-comments-post.php ثم GET لعنوان URL الخاص بمعاينة الإشراف. معرّف الودجت idBase هو tribe-widget-events-list، وليس events-list.


المدخل

  • الطريقة: POST
  • المسار: /wp-comments-post.php
  • الموجّه: Unauth wp-comments-post.php. تقوم TEC V2 للحدث الفردي بتخزين comments_template() مؤقتاً ثم do_blocks(). تعيد render_block_data تجزئة نسخ tribe-widget-*. the_widget('tribe-widget-events-list') مع featured_events_only true تُفرغ القائمة بحيث تُشغّل components/messages.php الدالة tec_classes($classes). تستدعي Element_Classes::parse_array قيم string-callable. كاناري المختبر poc_witness_78159، وليس system() وليس wp_update_user.
  • ملاحظات: CVE-2026-78159 CWE-94: The Events Calendar 6.17.3. يجب أن يكون idBase هو tribe-widget-events-list (البادئة tribe-widget- + الـ slug events-list). التجزئة الوهمية كافية. أول GET /event/lab-event/ هو للجمع فقط. النجاح فقط إذا ظهر POCWitness78159 بعد إعادة توجيه التعليق.

سلسلة الاستدعاء

  • GET /event/lab-event/ harvest comment_post_ID
  • POST /wp-comments-post.php comment=<!-- wp:legacy-widget {idBase tribe-widget-events-list, instance.encoded php-serialize-base64, instance.hash 0} /-->
  • 302 Location includes unapproved=COMMENT_ID&moderation-hash=wp_hash(comment_date_gmt)
  • GET that Location: comments_template includes the unapproved comment
  • Template_Bootstrap::get_v1_single_event_template_html do_blocks($html)
  • Service_Provider::enable_rendering_widget_copied (render_block_data) unserialize allowed_classes false, is_safe_widget_instance rejects objects only, wp_hash the plain array
  • render_block_core_legacy_widget the_widget tribe-widget-events-list
  • Widget_List setup_arguments array_merge instance (classes survives; setup_template_vars does not overwrite it)
  • empty featured list -> widget-events-list.php else branch components/messages.php
  • tec_classes($classes) -> Element_Classes::parse_array string key + is_callable value -> poc_witness_78159($results) echoes POCWitness78159

الشروط المسبقة للمختبر

  • The Events Calendar 6.17.3 مُفعَّل
  • قالب كلاسيكي (Twenty Twenty-One). تتجاوز القوالب الكتلية Template_Bootstrap::filter_template_include عبر tec_is_full_site_editor()، لذا لا ترى do_blocks أبداً HTML التعليقات
  • tribe_events_calendar_options showComments=yes بحيث يدعم tribe_events التعليقات
  • منشور tribe_events منشور باسم lab-event مع comment_status=open
  • comment_registration=0، التعليقات الأولى محتجزة (unapproved + moderation-hash)
  • دالة mu-plugin باسم poc_witness_78159 تُخرج POCWitness78159 (كاناري المختبر، وليست سلسلة gadget)
  • عروض/ودجت V2 مُفعَّلة (صحيحة دائماً في 6.17.3)

الشاهد

يحتوي جسم HTTP الخاص بـ GET لمعاينة الإشراف على POCWitness78159. صفحة HTML عامة للحدث بدون هذه السلسلة ليست هي المقصودة. قد تُضيف debug.log أيضاً POCWitness78159.

ليس نجاحاً

  • صفحة HTML عامة للحدث بحالة 200 بدون POCWitness78159
  • wp-comments-post.php بحالة 200/302 دون متابعة Location
  • تعليق 409/مكرر بدون الكتلة
  • 403/404 بدون الشاهد
  • reverse shell أو اتصال صادر
  • حمولة system()/exec()/wp_update_user لإعادة تعيين كلمة المرور

الترقيع / المعالجة

افعل هذا أولاً: حدّث The Events Calendar إلى 6.17.3.1 أو أحدث (توصي Wordfence بـ 6.17.4.1 لتغطية CVE-2026-78006 أيضاً).

تحقق بعد الترقية

  • أعد تشغيل CVE-2026-78159-Abraxas-Labs.py مقابل البناء المُرقَّع: يجب ألا يظهر الشاهد المُعيَّن.
  • أكّد إشعار المورّد / مجموعة التغييرات في الشجرة المنشورة (انظر المراجع).
  • توقيع WAF هو تأخير، وليس ترقيعاً.

إذا لم تتمكن من التحديث فوراً

  • عطّل أو اعزل المكوّن المتأثر.
  • ابحث عن حالة الشاهد في بيئة الإنتاج (مستخدمون مميزون جدد، ملفات غير متوقعة، صفوف مُدخَلة — أي شيء تسميه خريطة هذا CVE).

إعادة الإنتاج (مختبر مُصرَّح به)

استهدف فقط http://127.0.0.1:8088 (أو عنوان loopback الذي ربطته). لا توجّه هذا السكربت إلى الإنترنت.

root@kitploit:~
python3 CVE-2026-78159-Abraxas-Labs.py

النجاح هو الشاهد المذكور أعلاه في جسم الاستجابة. صفحة HTML عامة بحالة 200 ليست هي المقصودة.


صور المختبر

حزمة loopback المستخدمة لإعادة الإنتاج. صور رسمية ما لم يكن هناك Dockerfile في هذا المجلد يبني من المصدر.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

اربط شجرة المنتج المعرّضة بجانب Compose إذا كان ملف YAML يربط دليلاً محلياً (ملف zip للإضافة / وسم المصدر من جدول الإصدارات). لا تنشر شيئاً باستثناء 127.0.0.1.


المراجع

  • CVE-2026-78159 · NVD

  • CVE-2026-78159 · CVE.org

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/common/src/Tribe/Utils/Element_Classes.php#L211

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Template_Bootstrap.php#L214

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Widgets/Service_Provider.php#L279

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/views/v2/components/messages.php#L30

  • plugins.trac.wordpress.org/changeset?reponame=&old=3667866%40the-events-calendar&new=3667866%40the-events-calendar

  • plugins.trac.wordpress.org/changeset?reponame=&old=3667867%40the-events-calendar&new=3667867%40the-events-calendar

  • www.wordfence.com/threat-intel/vulnerabilities/id/cc2ccfeb-6df6-4fee-96a5-94f8dd131f7c?source=cve

  • github.com/advisories/GHSA-9c57-9fxg-8x9j

  • nvd.nist.gov/vuln/detail/CVE-2026-78159

  • دليل الإضافات: the-events-calendar

  • متصفح Trac: plugins.trac.wordpress.org/the-events-calendar

  • وسوم SVN: plugins.svn.wordpress.org/the-events-calendar

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


السجلات (منظمة)

root@kitploit:~
# CVE-2026-78159  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-78159`
- CWE: CWE-94
- published: 2026-09-12T08:16:24.377

## NVD description

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.3 via the parse_array function. This is due to insufficient validation of the widget 'classes' map, allowing a plain-array payload to bypass the is_safe_widget_instance() object check and reach the callable-invocation sink in Element_Classes::parse_array(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires that the targeted site has comments enabled on tribe_events posts and that at least one comment containing a crafted wp:legacy-widget block has been submitted, as the attack chain is triggered when do_blocks() processes the single-event HTML including the comment area.

## MITRE description

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.3 via the parse_array function. This is due to insufficient validation of the widget 'classes' map, allowing a plain-array payload to bypass the is_safe_widget_instance() object check and reach the callable-invocation sink in Element_Classes::parse_array(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires that the targeted site has comments enabled on tribe_events posts and that at least one comment containing a crafted wp:legacy-widget block has been submitted, as the attack chain is triggered when do_blocks() processes the single-event HTML including the comment area.

## Affected

- stellarwp The Events Calendar 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/common/src/Tribe/Utils/Element_Classes.php#L211
- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Template_Bootstrap.php#L214
- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Widgets/Service_Provider.php#L279
- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/views/v2/components/messages.php#L30
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3667866%40the-events-calendar&new=3667866%40the-events-calendar
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3667867%40the-events-calendar&new=3667867%40the-events-calendar
- https://www.wordfence.com/threat-intel/vulnerabilities/id/cc2ccfeb-6df6-4fee-96a5-94f8dd131f7c?source=cve
- https://github.com/advisories/GHSA-9c57-9fxg-8x9j
- https://nvd.nist.gov/vuln/detail/CVE-2026-78159

## GitHub advisory

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all...

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.3 via the parse_array function. This is due to insufficient validation of the widget 'classes' map, allowing a plain-array payload to bypass the is_safe_widget_instance() object check and reach the callable-invocation sink in Element_Classes::parse_array(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires that the targeted site has comments enabled on tribe_events posts and that at least one comment containing a crafted wp:legacy-widget block has been submitted, as the attack chain is triggered when do_blocks() processes the single-event HTML including the comment area.

الترخيص

حزمة الإفصاح هذه مرخّصة بموجب GNU Affero General Public License v3.0. انظر LICENSE.


إخلاء المسؤولية

هذه الحزمة مخصّصة للمورّد، ومالك الموقع، والمختبرات المُصرَّح لها. يتواصل السكربت مع 127.0.0.1. استخدامه ضد أنظمة لا تملكها غير مُصرَّح به من Abraxas Labs. لا ضمان.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

تنزيل الأداة