CVE-2026-40308

High

Description

My Calendar is a WordPress plugin for managing calendar events. In versions 3.7.6 and below, the mc_ajax_mcjs_action AJAX endpoint, registered for unauthenticated users, passes user-supplied arguments through parse_str() without validation, allowing injection of arbitrary parameters including a site value. On WordPress Multisite installations, this enables an unauthenticated attacker to call switch_to_blog() with an arbitrary site ID and extract calendar events from any sub-site on the network, including private or hidden events. On standard Single Site installations, switch_to_blog() does not exist, causing an uncaught PHP fatal error and crashing the worker thread, creating an unauthenticated denial of service vector. This issue has been fixed in version 3.7.7.

SeverityHigh
CVSS8.8
Exploit probability—
ProductJoedolson/my-calendar
PublishedApr 16, 2026
First seenApr 16, 2026

How to fix

Update
  • joedolson/my-calendar3.7.7 or later

Affected products

ProductAffected versionsFixed in
joedolson/my-calendarPackagistv < 3.7.73.7.7

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.