CVE-2026-104798 PUBLISHED

My Calendar <= 3.8.7 - Unauthenticated Privilege Escalation to 'mcs' Parameter via Reflected Shortcode Injection into 'above' Attribute

Assigner: Wordfence
Reserved: 02.10.2026 Published: 16.10.2026 Updated: 16.10.2026

The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.8.7. The public mcs GET parameter is reflected into post content unsanitized before WordPress core's do_shortcode filter runs, allowing an unauthenticated attacker to inject a nested [my_calendar above=...] shortcode; mc_generate_calendar_nav() then splits the above attribute on commas and dispatches each element via call_user_func() with no authentication, authorization, or callable allowlist check. This makes it possible for unauthenticated attackers to invoke arbitrary loaded PHP functions, enabling a call chain in which the shortcode $params array is passed to edit_user() — which PHP coerces to integer 1 as the $user_id argument — overwriting the credentials of the initial Administrator account (user ID 1) and granting the attacker full wp-admin access. Exploitation is trivially reachable via the plugin's auto-generated /my-calendar/ page, which is publicly accessible by default upon plugin activation.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8

Product Status

Vendor joedolson
Product My Calendar – Accessible Event Manager
Versions Default: unaffected
  • affected from 0 to 3.4.24 (incl.)
  • affected from 3.5 to 3.5.21 (incl.)
  • affected from 3.6 to 3.6.17 (incl.)
  • affected from 3.7 to 3.7.17 (incl.)
  • affected from 3.8 to 3.8.7 (incl.)

Credits

  • daroo finder

References

Problem Types

  • CWE-269 Improper Privilege Management CWE