CVE-2025-13904
Stored XSS in WPGancio WordPress Plugin Allows Script Injection
Publication date: 2025-12-12
Last updated on: 2025-12-12
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| wordpress | wpgancio | * |
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
Can you explain this vulnerability to me?
This vulnerability is a Stored Cross-Site Scripting (XSS) issue in the WPGancio WordPress plugin, specifically in the 'gancio-event' shortcode. It occurs because the plugin does not properly sanitize or escape user-supplied attributes, allowing authenticated users with contributor-level access or higher to inject malicious scripts. These scripts then execute whenever any user views the affected page.
How can this vulnerability impact me? :
An attacker with contributor-level access or above can inject arbitrary scripts into pages, which will execute in the browsers of users who visit those pages. This can lead to theft of user credentials, session hijacking, defacement, or other malicious actions performed on behalf of the user without their consent.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The provided resources and context do not contain information regarding the impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
To detect this vulnerability, you can scan your WordPress installation for the presence of the WPGancio plugin version 1.12 or earlier. Checking for the plugin's shortcode usage '[gancio-event]' or '[gancio-events]' in posts may indicate potential exploitation. Additionally, inspecting pages for injected scripts within these shortcodes or custom tags can help identify stored XSS attempts. Commands to assist detection include: 1) Using WP-CLI to list installed plugins and their versions: `wp plugin list | grep wpgancio` 2) Searching the WordPress database for usage of the vulnerable shortcodes: `wp db query "SELECT ID, post_content FROM wp_posts WHERE post_content LIKE '%[gancio-event]%' OR post_content LIKE '%[gancio-events]%'"` 3) Using curl or wget to fetch pages and grep for suspicious script tags within gancio-event elements. These steps help identify if the vulnerable plugin is present and if any content contains potentially malicious injected scripts. [2, 3]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include: 1) Updating the WPGancio plugin to a version later than 1.12 where the vulnerability is fixed. 2) If an update is not available, temporarily disabling or uninstalling the plugin to prevent exploitation. 3) Reviewing and sanitizing existing content that uses the '[gancio-event]' and '[gancio-events]' shortcodes or tags to remove any injected malicious scripts. 4) Restricting contributor-level access or higher to trusted users only, as the vulnerability requires authenticated contributor-level access. 5) Implementing Web Application Firewall (WAF) rules to detect and block attempts to inject scripts via these shortcodes. These steps reduce the risk of stored XSS attacks via the vulnerable plugin. [2, 3]