Cyber Resilience

CVE-2026-40308

Access Control

Published
16 April 2026
Modified
17 April 2026
CVSS Score v4 8.8
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0093 59th percentile
Risk Priority 50 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-40308 is a high-severity Authorization Bypass Through User-Controlled Key (CWE-639) vulnerability. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 41% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

The vulnerability affects the My Calendar WordPress plugin in versions 3.7.6 and below. The mc_ajax_mcjs_action AJAX endpoint, which is registered for unauthenticated users, passes attacker-supplied arguments through parse_str() without validation. This permits injection of arbitrary parameters, including a site value that reaches switch_to_blog() on multisite installations or triggers an uncaught fatal error on single-site setups.

An unauthenticated remote attacker can supply a crafted request to the endpoint and, on WordPress multisite, invoke switch_to_blog() with an arbitrary site identifier to retrieve calendar events from any subsite, including private or hidden ones. On single-site installations the same request produces a PHP fatal error that crashes the worker thread, resulting in an unauthenticated denial of service. The CVSS 4.0 score of 8.8 reflects network-exploitable confidentiality and availability impact without authentication or user interaction.

The flaw is resolved in version 3.7.7, as stated in the project release notes and the accompanying GitHub security advisories. The EPSS score has remained flat at 0.0310 with no material increase after disclosure.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-43732Shared CWE-639
CVE-2024-10780Shared CWE-639
CVE-2026-77368Shared CWE-639
CVE-2024-38446Shared CWE-639
CVE-2024-1693Shared CWE-639
CVE-2026-25563Shared CWE-639
CVE-2025-11532Shared CWE-639
CVE-2025-10910Shared CWE-639
CVE-2025-13109Shared CWE-639
CVE-2024-55231Shared CWE-639

Affected Assets

—
In
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Enforcing approved authorizations on every access request structurally stops a user-controlled key from reaching another user's data.

Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.

Least-privilege restrictions limit the scope of data reachable even if a key check is bypassed.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 partial match
prevents

Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.

PR.IR-01 partial match
prevents

Logical access controls prevent unauthorized data access that results from missing authorization checks on object references.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Access control policy directly requires enforcement of authorization rules that prevent unauthorized access via manipulated keys.

prevents

Managing access rights includes ensuring users can only access their own records and not bypass authorization by altering identifiers.

mitigates

Privileged access rights control restricts what data each user may access, mitigating direct object reference attacks.

prevents

Secure development lifecycle includes authorization design but does not itself implement runtime access checks.

prevents

Application security requirements can mandate authorization controls, yet the control itself is a requirements statement rather than an implemented safeguard.

prevents

Secure coding practices reduce the likelihood of missing authorization checks but do not guarantee their presence at runtime.

References