CVE-2026-77186 in My Calendar Plugininfo

Summary

by MITRE • 09/09/2026

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.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 09/09/2026

The My Calendar – Accessible Event Manager plugin for WordPress contains a critical stored cross-site scripting vulnerability affecting all versions up to and including 3.8.3. This flaw resides within the handling of the fallback shortcode attribute, where insufficient input sanitization and output escaping allow malicious actors to inject arbitrary web scripts into pages managed by the application. The security deficiency is particularly concerning because it permits execution of client-side code whenever a user accesses an affected page that contains the injected payload.

The technical root cause involves a specific bypass mechanism targeting WordPress core functions used for content processing. Attackers can exploit this vulnerability by utilizing hex-encoded shortcode attribute payloads, such as \x3cscript\x3e. When these payloads are saved to the database, they appear as literal backslash sequences rather than recognizable HTML tags. Consequently, the standard sanitization function wp_kses_post fails to strip them because it does not interpret the escaped characters as malicious markup during the save operation.

The exploitation chain completes at render time when WordPress core processes the shortcode attributes via the shortcode_parse_atts() function. This function invokes stripcslashes(), which decodes the hex-encoded escape sequences into actual angle brackets and script tags before they reach the unescaped output sink. As a result, the malicious code is rendered in plain HTML within the page structure, leading to immediate execution by any user viewing the compromised content.

From an access control perspective, this vulnerability requires authenticated attackers with contributor-level access or higher privileges to exploit. This lowers the barrier for entry compared to remote unauthenticated attacks but remains significant given that many WordPress sites grant such levels of access to multiple users for content management purposes. The resulting impact includes potential session hijacking, defacement, phishing campaigns against site visitors, and further propagation if combined with other vulnerabilities or social engineering tactics.

This vulnerability aligns with CWE-79, which classifies improper neutralization of input during web page generation as a common cause of cross-site scripting flaws. In terms of the MITRE ATT&CK framework for enterprise security, this behavior corresponds to techniques involving client-side code injection and potentially accounts manipulation if privilege escalation is achieved through subsequent exploitation steps. The stored nature of the attack means that persistence is maintained on the server side until the malicious content is manually removed or overwritten by legitimate updates.

Mitigation strategies should prioritize immediate upgrading to a patched version of the My Calendar plugin where these input validation checks have been strengthened. Administrators must ensure that all shortcode attributes are strictly validated against expected character sets and that output escaping is applied consistently regardless of encoding states. Additionally, implementing Content Security Policy headers can help mitigate the impact by restricting script execution sources. Regular security audits focusing on shortcodes and custom post types are recommended to identify similar patterns in other plugins or themes where input sanitization may be bypassed through encoding tricks.

Responsible

Wordfence

Reservation

08/20/2026

Disclosure

09/09/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!