CVE-2026-59516

ICS Calendar <= 12.1.1 - Unauthenticated Stored Cross-Site Scripting

highImproper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
7.2
CVSS Score
7.2
CVSS Score
high
Severity
12.1.1.1
Patched in
5d
Time to patch

Description

The ICS Calendar plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 12.1.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

CVSS Vector Breakdown

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Low
Confidentiality
Low
Integrity
None
Availability

Technical Details

Affected versions<=12.1.1
PublishedJuly 10, 2026
Last updatedJuly 14, 2026
Affected pluginics-calendar

What Changed in the Fix

Changes introduced in v12.1.1.1

Loading patch diff...

Source Code

WordPress.org SVN
Research Plan
Unverified

# Exploitation Research Plan - CVE-2026-59516 ## 1. Vulnerability Summary The **ICS Calendar** plugin for WordPress is vulnerable to **Unauthenticated Stored Cross-Site Scripting (XSS)** in versions up to 12.1.1. This occurs because the plugin fetches and processes external iCalendar (ICS) feeds an…

Show full research plan

Exploitation Research Plan - CVE-2026-59516

1. Vulnerability Summary

The ICS Calendar plugin for WordPress is vulnerable to Unauthenticated Stored Cross-Site Scripting (XSS) in versions up to 12.1.1. This occurs because the plugin fetches and processes external iCalendar (ICS) feeds and renders event details (like SUMMARY and DESCRIPTION) with insufficient sanitization. Specifically, the function r34ics_filter_the_content() (introduced in 12.0.8.4 to handle truncated HTML) fails to perform rigorous HTML validation, allowing arbitrary scripts to be cached in WordPress transients and subsequently executed in the context of any user viewing the calendar.

2. Attack Vector Analysis

  • Endpoint: wp-admin/admin-ajax.php
  • Action: r34ics_display_calendar (unauthenticated AJAX action)
  • Vulnerable Parameter: url (in the AJAX request) and the content of the ICS feed fetched from that URL.
  • Authentication: None required (wp_ajax_nopriv_ handler).
  • Preconditions: The plugin must be active. The exploit works by forcing the server to fetch a malicious ICS feed, which is then cached in a transient.

3. Code Flow

  1. Entry Point: An unauthenticated user sends a request to admin-ajax.php with action=r34ics_display_calendar.

Check if your site is affected.

Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.