Skip to content
Laskyr

Plugins · my-calendar · data as of 2026-11-04

Is My Calendar safe? Known vulnerabilities and latest version

No known unpatched vulnerabilities in the latest version (3.8.12)

As of 2026-11-04. 15 issues are on record for older versions; version 3.8.11 or newer fixes all of them that state a fix.

Latest version
3.8.12
Last updated
2026-11-03
Active installs
20,000+
Known issues on record
15
Unpatched in latest
0
Tested up to WP
7.1.4 · PHP 7.4+

Accessible WordPress event calendar plugin. Manage single or recurring events, event venues, and display your calendar anywhere on your site. — by Joe Dolson

What to do

  1. Update to the latest version (3.8.12). Anything older than 3.8.11 has at least one known issue listed below. Dashboard → Updates, or Plugins → “update now”.
  2. If you cannot update right away, deactivate it until you can.
  3. Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
  4. If you ran a vulnerable version and something looks off (spam pages, strange admins, redirects), run the free scan.

With WP-CLI: wp plugin get my-calendar --field=version shows what you run; wp plugin update my-calendar updates it.

Check your version

Known vulnerabilities

15 on record, newest first. “Affected” is the version range the source gives; “fixed in” is the version the source names, or (marked *) the first wordpress.org release after the last affected version.

critical 9.8 CVE-2026-104798 · published 2026-10-16

Privilege escalation in My Calendar (3.4.24 and older, 3.5 to 3.5.21, 3.6 to 3.6.17, 3.7 to 3.7.17, 3.8 to 3.8.7)

Affected
3.4.24 and older, 3.5 to 3.5.21, 3.6 to 3.6.17, 3.7 to 3.7.17, 3.8 to 3.8.7
Fixed in
3.8.11 *
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

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.

NVD CVE-2026-104798Wordfence advisoryCode change (fix)Plugin source

medium 6.4 CVE-2026-77187 · published 2026-09-09

Stored cross-site scripting (XSS) in My Calendar (3.8.3 and older)

Affected
3.8.3 and older
Fixed in
3.8.11 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'before' and 'after' Shortcode Attributes 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.

NVD CVE-2026-77187Wordfence advisorygithub.comPlugin source

medium 6.4 CVE-2026-77186 · published 2026-09-09

Stored cross-site scripting (XSS) in My Calendar (3.8.3 and older)

Affected
3.8.3 and older
Fixed in
3.8.11 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

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.

NVD CVE-2026-77186Wordfence advisorygithub.comPlugin source

high 7.5 CVE-2026-6854 · published 2026-07-08

SQL injection in My Calendar (3.7.8 and older)

Affected
3.7.8 and older
Fixed in
3.7.18 *
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to time-based blind SQL Injection via the 'mc_auth' parameter in all versions up to, and including, 3.7.8 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

NVD CVE-2026-6854Wordfence advisoryCode change (fix)

medium 5.3 CVE-2026-11896 · published 2026-07-02

Missing authorization check in My Calendar (3.7.14 and older)

Affected
3.7.14 and older
Fixed in
3.7.18 *
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.7.14 via the 'vcal' parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to enumerate occurrence IDs and access the full iCalendar export of non-public, draft, trashed, and personal calendar events, disclosing sensitive event metadata including titles, descriptions, dates, locations, organizer and host details, permalinks, and related calendar metadata.

NVD CVE-2026-11896Wordfence advisoryCode change (fix)Plugin source

medium 4.3 CVE-2026-7525 · published 2026-05-14

Missing authorization check in My Calendar (3.7.9 and older)

Affected
3.7.9 and older
Fixed in
3.7.18 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 3.7.9. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with custom-level access and above, to bypass the moderation and approval workflow by tampering with the POST body to publish events or set other unauthorized statuses such as cancelled or private, in ways their role does not permit. While the UI correctly restricts low-privilege users to a draft-only submit button, this restriction is enforced only client-side, making it trivially bypassable by directly manipulating the POST request.

NVD CVE-2026-7525Wordfence advisoryCode change (fix)github.comPlugin source

medium 6.4 CVE-2026-2355 · published 2026-03-04

Stored cross-site scripting (XSS) in My Calendar (3.7.3 and older)

Affected
3.7.3 and older
Fixed in
3.7.18 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the `template` attribute of the `[my_calendar_upcoming]` shortcode in all versions up to, and including, 3.7.3. This is due to the use of `stripcslashes()` on user-supplied shortcode attribute values in the `mc_draw_template()` function, which decodes C-style hex escape sequences (e.g., `\x3c` to `<`) at render time, bypassing WordPress's `wp_kses_post()` content sanitization that runs at save time. 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.

NVD CVE-2026-2355Wordfence advisoryCode change (fix)Plugin source

medium 4.3 CVE-2025-67592 · published 2025-12-09

Missing authorization check in My Calendar (3.6.16 and older)

Affected
3.6.16 and older
Fixed in
3.6.17
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Missing Authorization vulnerability in Joe Dolson My Calendar my-calendar allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects My Calendar: from n/a through <= 3.6.16.

NVD CVE-2025-67592Patchstack advisory

medium 5.4 CVE-2024-1274 · published 2024-04-02

Cross-site scripting (XSS) in My Calendar (older than 3.4.24)

Affected
older than 3.4.24
Fixed in
3.4.24
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The My Calendar WordPress plugin before 3.4.24 does not sanitise and escape some parameters, which could allow users with a role as low as Subscriber to perform Cross-Site Scripting attacks (depending on the permissions set by the admin)

NVD CVE-2024-1274WPScan advisory

medium 6.5 CVE-2024-25916 · published 2024-03-15

Stored cross-site scripting (XSS) in My Calendar (3.4.23 and older)

Affected
3.4.23 and older
Fixed in
3.4.24
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Joseph C Dolson My Calendar allows Stored XSS.This issue affects My Calendar: from n/a through 3.4.23.

NVD CVE-2024-25916Patchstack advisory

critical 9.8 CVE-2023-6360 · published 2023-11-30

SQL injection in My Calendar (older than 3.4.22)

Affected
older than 3.4.22
Fixed in
3.4.22
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

The 'My Calendar' WordPress Plugin, version < 3.4.22 is affected by an unauthenticated SQL injection vulnerability in the 'from' and 'to' parameters in the '/my-calendar/v1/events' rest route.

NVD CVE-2023-6360tenable.com

high 8.8 CVE-2023-23813 · published 2023-05-22

Cross-site request forgery (CSRF) in My Calendar (3.4.3 and older)

Affected
3.4.3 and older
Fixed in
3.4.4
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

Cross-Site Request Forgery (CSRF) vulnerability in Joseph C Dolson My Calendar plugin <= 3.4.3 versions.

NVD CVE-2023-23813Patchstack advisory

high 8.8 CVE-2022-47427 · published 2023-03-15

Cross-site request forgery (CSRF) in My Calendar (3.3.24.1 and older)

Affected
3.3.24.1 and older
Fixed in
3.3.25
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

Cross-Site Request Forgery (CSRF) vulnerability in Joseph C Dolson My Calendar plugin <= 3.3.24.1 versions.

NVD CVE-2022-47427Patchstack advisory

medium 5.4 CVE-2021-24927 · published 2021-11-29

Reflected cross-site scripting (XSS) in My Calendar (older than 3.2.18)

Affected
older than 3.2.18
Fixed in
3.2.18
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
Range from
NVD analysis · score by NVD
Details from the advisory

The My Calendar WordPress plugin before 3.2.18 does not sanitise and escape the callback parameter of the mc_post_lookup AJAX action (available to any authenticated user) before outputting it back in the response, leading to a Reflected Cross-Site Scripting issue

NVD CVE-2021-24927WPScan advisory

medium 6.1 CVE-2019-15713 · published 2019-08-28

Cross-site scripting (XSS) in My Calendar (older than 3.1.10)

Affected
older than 3.1.10
Fixed in
3.1.10
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
NVD analysis · score by NVD
Details from the advisory

The my-calendar plugin before 3.1.10 for WordPress has XSS.

NVD CVE-2019-15713wordpress.org

Recent activity

Browse vulnerabilities

Where this data comes from

Badge for your site or docs (states facts with a date, not a verdict):
My Calendar vulnerability status badge
<a href="https://laskyr.com/plugins/my-calendar"><img src="https://laskyr.com/plugins/my-calendar/badge.svg" alt="My Calendar vulnerability status"></a>

← Check another plugin · Free hacked-site scan

First hour checklist

If the site was just hacked, read the emergency kit before you delete files. The page is free. Email is optional.

Read the emergency kit