Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Stored XSS with Contributor auth (PR:L) fires on normal page visit; Changed Scope reflects browser-context execution; no availability impact applies.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Event Organiser plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 3.12.9. This is due to the 'eo_events' shortcode accepting attacker-controlled 'no_events' content and rendering it in event list templates without output escaping. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
AnalysisAI
Stored Cross-Site Scripting in the Event Organiser WordPress plugin (all versions through 3.12.9) allows an authenticated attacker with Contributor-level access or higher to inject arbitrary JavaScript via the unescaped 'no_events' parameter of the 'eo_events' shortcode. The payload persists server-side and executes in any visitor's browser when they load a page containing the injected shortcode with no matching events. No active exploitation is confirmed (not in CISA KEV) and no public exploit code has been identified at time of analysis, but the low authentication bar (Contributor) makes this a meaningful risk on multi-author WordPress sites.
Technical ContextAI
The affected component is the Event Organiser plugin by Stephen Harris (CPE: cpe:2.3:a:stephenharris:event_organiser:*:*:*:*:*:*:*:*) - a WordPress plugin for managing calendar events. The root cause is CWE-79: Improper Neutralization of Input During Web Page Generation. Specifically, the 'eo_events' shortcode accepts a 'no_events' attribute that supplies fallback content rendered when no events match the query. The plugin passes this attacker-supplied value directly into event list templates without applying WordPress output escaping functions such as esc_html() or wp_kses(). Because WordPress grants Contributors the ability to embed shortcodes in posts and pages, any user at that trust level can author a page with this shortcode and supply a malicious 'no_events' value. The fix is committed to the WordPress plugin SVN at changeset 3589132.
RemediationAI
Update the Event Organiser plugin to the version that incorporates changeset 3589132 from the WordPress plugin SVN repository (https://plugins.trac.wordpress.org/changeset/3589132/event-organiser); this commit adds proper output escaping to the 'no_events' shortcode parameter. Check the plugin's changelog in the WordPress admin dashboard or at wordpress.org/plugins/event-organiser to confirm the exact patched version number, as it is not independently confirmed in the available intelligence. As a compensating control pending update, use a role-management plugin to strip Contributor-level users of the ability to publish posts or insert shortcodes; note this will disrupt normal contributor workflows. Alternatively, a Web Application Firewall rule blocking '<script' and common XSS payloads in POST bodies can reduce exposure without disrupting editorial workflows, though WAF bypasses are common and this is not a substitute for patching.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-40904
GHSA-fmmj-9298-j37p