My Calendar <= 3.8.3 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'fallback' Shortcode Attribute
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'fallback' Shortcode Attribute in all versions up to, and including, 3.8.3 due to insufficient input sanitization and 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. The bypass relies on hex-encoded shortcode attribute payloads (e.g. \x3cscript\x3e), which wp_kses_post cannot strip on save because they appear as literal backslash sequences rather than real HTML tags; WordPress core's shortcode_parse_atts() then calls stripcslashes() at render time, decoding the escapes into real angle brackets before they reach the unescaped sink.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-77186
- 2026-10-03 Alias added: GHSA-588q-hr78-m65w
References
Other 5
- https://www.wordfence.com/threat-intel/vulnerabilities/id/62c8fb1f-6cba-43cc-8aca-70812c29a63d?source=cve
- https://plugins.trac.wordpress.org/browser/my-calendar/trunk/my-calendar-widgets.php#L272
- https://plugins.trac.wordpress.org/browser/my-calendar/trunk/my-calendar-shortcodes.php#L114
- https://plugins.trac.wordpress.org/browser/my-calendar/trunk/my-calendar.php#L556
- https://github.com/joedolson/my-calendar/commit/89bbf7314fac84cdb89e520e8b7b6d69eee8dd3c
More joedolson vulnerabilities
- TI-2023-05838 SQL injection in my-calendar CVSS 3.1CRITICAL 9.8
- TI-2026-29085 My Calendar: Unauthenticated Information Disclosure (IDOR) via Multisite switch_to_blog CVSS 4.0HIGH 8.8
- TI-2024-01186 My Calendar < 3.4.24 - Authenticated Stored XSS CVSS 3.1MEDIUM 5.4
- TI-2026-75163 Unauthenticated privilege escalation in My Calendar WordPress plugin CVSS 3.1CRITICAL 9.8
- TI-2025-03313 My Tickets – Accessible Event Ticketing <= 2.0.16 - Authenticated (Subscriber+) Privilege Escalation CVSS 3.1HIGH 8.8
- TI-2026-21820 WordPress My Tickets plugin <= 2.1.0 - Sensitive Data Exposure vulnerability CVSS 3.1HIGH 7.5
Sources
- CVE-2026-77186 · CVE Program
- CVE-2026-77186 · NVD
- FIRST EPSS
- GHSA-588q-hr78-m65w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences