CVE-2025-14548
Stored XSS in WordPress Calendar Plugin Allows Script Injection
Publication date: 2025-12-23
Last updated on: 2025-12-23
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| wordpress | calendar_plugin | 1.3.16 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The provided resources do not explicitly discuss how this vulnerability affects compliance with common standards and regulations such as GDPR or HIPAA. However, since the vulnerability allows stored Cross-Site Scripting (XSS) via insufficient input sanitization, it could potentially lead to unauthorized script execution and data exposure, which may impact data protection requirements under such regulations. No direct compliance impact is detailed in the available information. [1, 3]
Can you explain this vulnerability to me?
CVE-2025-14548 is a Stored Cross-Site Scripting (XSS) vulnerability in the WordPress Calendar plugin (up to version 1.3.16). It occurs because the plugin does not properly sanitize and escape user input in the 'event_desc' parameter. Authenticated users with Contributor-level access or higher can inject malicious scripts into calendar event descriptions. These scripts execute when other users view the affected pages, potentially compromising site security. The vulnerability arises from insufficient input sanitization and output escaping in event management functions. [1, 3]
How can this vulnerability impact me? :
This vulnerability can allow attackers with Contributor-level access or above to inject malicious scripts into calendar event descriptions. When other users, including administrators, view these events, the malicious scripts execute in their browsers. This can lead to session hijacking, unauthorized actions performed on behalf of users, data theft, or further compromise of the WordPress site. The impact includes loss of data integrity, user trust, and potential site takeover. [1, 3]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by checking if your WordPress installation is running the Calendar plugin version 1.3.16 or earlier, as these versions are vulnerable. Additionally, you can audit event descriptions ('event_desc' parameter) for suspicious or unexpected script tags or JavaScript code injections. Since the vulnerability involves stored Cross-Site Scripting (XSS) via the 'event_desc' parameter, reviewing calendar event entries for injected scripts is key. There are no specific commands provided in the resources, but you can use WP-CLI commands to list installed plugins and their versions, for example: `wp plugin list --format=json | jq '.[] | select(.name=="calendar")'` to check the plugin version. For detecting injected scripts, you might query the WordPress database directly, for example using SQL: `SELECT ID, post_content FROM wp_posts WHERE post_content LIKE '%<script>%' OR post_content LIKE '%onerror=%';` targeting calendar event entries if stored as posts. However, no explicit detection commands are provided in the resources. [1, 3]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include updating the WordPress Calendar plugin to a version later than 1.3.16 where the vulnerability is fixed. The update includes improved input sanitization using WordPress functions like `wp_kses_post()` and nonce verification to prevent unauthorized event modifications. Additionally, restrict Contributor-level users from managing calendar events unless necessary, and avoid enabling lower privilege users to manage calendar events via plugin settings. Applying the official patch or update that addresses CVE-2025-14548 will mitigate the stored XSS vulnerability. Also, ensure that your WordPress installation and plugins are kept up to date to prevent exploitation. [1, 3]