# Event Organiser <= 3.12.11 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'no_events' Shortcode Attribute

- **ID:** WPSEC-2026-2345
- **Plugin:** Event Organiser (`event-organiser`), https://wordpress.org/plugins/event-organiser/
- **Affected versions:** all versions before 3.12.12
- **Fixed in:** 3.12.12 (Update to 3.12.12 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-03)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/event-organiser
- **Fix released:** 2026-10-30
- **Published:** 2026-11-03
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2345/

## Description

The Event Organiser plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'no_events' attribute of the eo_events shortcode in all versions up to, and including, 3.12.11 due to insufficient input sanitization and output escaping when the shortcode is used with an inline placeholder template. 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 displaying an empty event list.

## References

- https://wpsec.com/vuln/WPSEC-2026-2345/
- https://plugins.svn.wordpress.org/event-organiser/tags/3.12.12/
- https://wordpress.org/plugins/event-organiser/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2345/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
