CVE-2026-104798

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

2026-10-15 16:25
daroo

Strategic Overview

Status
Patched in 3.4.25
Affected Version
3.4.24 – 3.8.7 · 5 branches
CVSS
9.8Critical
Weakness type
CWE-269 · Improper Privilege Management
CVE
CVE-2026-104798
View all My Calendar – Accessible Event Manager vulnerabilities

At a glance

CVE-2026-104798 is a critical-severity Improper Privilege Management vulnerability in the My Calendar WordPress plugin, affecting versions 3.4.24 – 3.8.7 · 5 branches. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 3.4.25; sites on affected versions should update now. Disclosed October 2026, reported by daroo.

Vulnerability Overview

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.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-269: Improper Privilege Management

My Calendar 3.4.24 – 3.8.7 · 5 branches carries this weakness at mc_generate_calendar_nav(), and reaching it takes no account at all. Improper privilege management means the code lets an account end up with capabilities its role should not have.

It converts a low-privileged account into an administrative one, which makes every other restriction on the site irrelevant. For My Calendar the fix is 3.4.25: builds 3.4.24 – 3.8.7 · 5 branches are affected, anything from 3.4.25 onward is not.

Remediation

Update to one of the following versions, or a newer patched version: 3.4.25, 3.5.22, 3.6.18, 3.7.18, 3.8.8

How does WordSec protect against this?

This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: My Calendar 3.4.25 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C