
The Events Calendar WordPress प्लगइन में parse_array विजेट क्लासेस सिंक के माध्यम से अनधिकृत RCE, CVE-2026-78159 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट।
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-78159
The Events Calendar 6.17.3 — stellarwp
WordPress के लिए The Events Calendar प्लगइन सभी संस्करणों में, 6.17.3 तक (सम्मिलित), parse_array फ़ंक्शन के माध्यम से Remote Code Execution के प्रति संवेदनशील है। यह विजेट 'classes' मैप के अपर्याप्त सत्यापन के कारण है, जो एक plain-array payload को is_safe_widget_instance() ऑब्जेक्ट जाँच को बायपास करने और Element_Classes::parse_array() में callable-invocation sink तक पहुँचने की अनुमति देता है। इससे अनधिकृत हमलावरों के लिए सर्वर पर कोड निष्पादित करना संभव हो जाता है। शोषण के लिए आवश्यक है कि लक्षित साइट पर tribe_events पोस्ट्स पर टिप्पणियाँ सक्षम हों और कम से कम एक टिप्पणी जिसमें एक तैयार किया गया wp:legacy-widget ब्लॉक हो, सबमिट की गई हो, क्योंकि हमला श्रृंखला तब ट्रिगर होती है जब do_blocks() टिप्पणी क्षेत्र सहित single-event HTML को प्रोसेस करता है।
| CVE | CVE-2026-78159 · CVE.org |
| CWE | CWE-94 |
| CVSS | Critical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Product | The Events Calendar |
| Affected | सभी संस्करण 6.17.3 तक (सम्मिलित) |
| Patched | 6.17.3.1 और बाद के |
| Auth | कोई नहीं (स्रोत मैप देखें) |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 · vendor/client disclosure pack, स्कैनर नहीं |
parse_array sink है, ajax action= नहीं। HTTP है POST /wp-comments-post.php फिर GET moderation-preview URL। Widget idBase tribe-widget-events-list है, events-list नहीं।
POST/wp-comments-post.phpGET /event/lab-event/ harvest comment_post_IDPOST /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 commentTemplate_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 arrayrender_block_core_legacy_widget the_widget tribe-widget-events-listWidget_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.phptec_classes($classes) -> Element_Classes::parse_array string key + is_callable value -> poc_witness_78159($results) echoes POCWitness78159moderation-preview GET के HTTP body में POCWitness78159 होता है। उस स्ट्रिंग के बिना सामान्य event HTML यह नहीं है। debug.log भी POCWitness78159 जोड़ सकता है।
पहले यह करें: The Events Calendar को 6.17.3.1 या नए में अपडेट करें (Wordfence CVE-2026-78006 को भी कवर करने के लिए 6.17.4.1 की सिफारिश करता है)।
अपग्रेड के बाद सत्यापित करें
CVE-2026-78159-Abraxas-Labs.py को फिर से चलाएँ: मैप किया गया witness नहीं दिखना चाहिए।यदि आप तुरंत अपडेट नहीं कर सकते
लक्ष्य केवल http://127.0.0.1:8088 (या जो loopback आपने बाइंड किया)। इस स्क्रिप्ट को इंटरनेट पर निर्देशित न करें।
python3 CVE-2026-78159-Abraxas-Labs.py
सफलता प्रतिक्रिया body में ऊपर दिया गया witness है। सामान्य 200 HTML यह नहीं है।
प्रतिलिपि के लिए उपयोग किया गया loopback स्टैक। आधिकारिक images जब तक इस फ़ोल्डर में कोई Dockerfile स्रोत से बिल्ड न करे।
cd lab
docker compose up --force-recreate
यदि YAML एक स्थानीय निर्देशिका को माउंट करता है तो संवेदनशील उत्पाद ट्री को Compose के बगल में बाइंड करें (संस्करण तालिका से plugin zip / source tag)। 127.0.0.1 के अलावा कुछ भी प्रकाशित न करें।
www.wordfence.com/threat-intel/vulnerabilities/id/cc2ccfeb-6df6-4fee-96a5-94f8dd131f7c?source=cve
Plugin directory: the-events-calendar
Trac browser: plugins.trac.wordpress.org/the-events-calendar
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# 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.
यह disclosure pack GNU Affero General Public License v3.0 के अंतर्गत लाइसेंस प्राप्त है। देखें LICENSE।
यह pack vendor, साइट स्वामी, और लाइसेंस प्राप्त labs के लिए है। स्क्रिप्ट 127.0.0.1 से बात करती है। इसका उपयोग उन सिस्टमों के विरुद्ध करना जो आपके स्वामित्व में नहीं हैं, Abraxas Labs द्वारा अधिकृत नहीं है। कोई वारंटी नहीं।