Summary
CVE-2026-78159 is a critical unauthenticated Remote Code Execution vulnerability in The Events Calendar, a WordPress plugin developed by StellarWP. The flaw stems from insufficient validation of widget "classes" data, allowing an attacker-supplied plain-array payload to bypass a safety check and reach a callable-invocation code path. It affects all versions of the plugin through 6.17.3 and carries a CVSS v3.1 base score of 9.8 (Critical).
Technical details
- Root cause: Insufficient validation in the widget
classesmap allows a plain-array payload to bypass the plugin’sis_safe_widget_instance()object check, reaching the callable-invocation sink insideElement_Classes::parse_array(). - Trigger conditions: The target site must have comments enabled on
tribe_eventsposts, and a comment containing a craftedwp:legacy-widgetblock must exist. The vulnerable code path is triggered whendo_blocks()processes the single-event page HTML, including the comment area. - Attack vector: Network-based and unauthenticated — no login, privileges, or user interaction are required (AV:N/AC:L/PR:N/UI:N).
- Impact: Full compromise of confidentiality, integrity, and availability, as the flaw allows arbitrary code execution on the affected server.
- Weakness classification: CWE-94, Improper Control of Generation of Code ("Code Injection").
Affected software
- The Events Calendar (WordPress plugin) by StellarWP — all versions through 6.17.3.
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade The Events Calendar plugin to version 6.17.4 or later, which corrects the validation logic in
parse_array()and strengthens the checks performed byis_safe_widget_instance(). - If immediate patching is not possible:
- Disable comments on
tribe_eventsposts (via WordPress discussion settings or a custom filter) to remove the trigger path for the attack. - Audit existing comment content for any previously injected
wp:legacy-widgetblocks and remove them. - Consider a Web Application Firewall rule to block malformed serialized/array payloads submitted through comment fields.
- Disable comments on
- Note: A related follow-on issue (tracked separately as CVE-2026-78006) affecting the same
is_safe_widget_instance()bypass logic was identified in versions up to and including 6.17.4; sites should apply the latest available plugin release beyond 6.17.4 to ensure full protection.

