CVE-2026-78006: The Events Calendar <= 6.17.4 - Unauthenticated PHP Object Injection to Remote Code Execution
The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.4 via the issafewidgetinstance function. This is due to insufficient protection in issafewidgetinstance, which can be bypassed because PHP fires magic methods during its pre-parse, combined with enablerenderingwidgetcopied() forging a valid wphash integrity attribute before unserialize() is reached. This makes it possible for unauthenticated attackers to execute code on the server. This is exploitable without authentication or approval because the plugin's V2 single-event template runs doblocks() over buffered comment HTML, and WordPress returns a moderation-hash URL that allows an unauthenticated commenter to immediately view their own pending comment, delivering the injected block markup to the vulnerable code path before any moderation occurs. This does require comments to be enabled and visible on events.
Affected Software
Event History
Frequently Asked Questions
Which sites are exposed to unauthenticated exploitation?
Sites running The Events Calendar version 6.17.4 or earlier are exposed if comments are enabled and visible on event pages. The vulnerable path relies on the plugin's V2 single-event template processing comment HTML.
Does an attacker need an account or an approved comment?
No. An unauthenticated attacker can submit a pending comment and use the WordPress moderation-hash URL to view that comment immediately, reaching the vulnerable code path before moderation occurs.
What configuration should be checked when patching cannot happen immediately?
Check whether comments are enabled and visible on events, since this is required for exploitation. Disabling or preventing visibility of comments on event pages removes the stated prerequisite for the exploit path.
How can I determine whether my site is affected?
Verify the installed The Events Calendar version and whether it is 6.17.4 or earlier. Also verify whether the V2 single-event template is in use and event comments are enabled and visible.