CVE-2025-14109
Stored XSS in AH Shortcodes WordPress Plugin Allows Script Injection
Publication date: 2026-01-07
Last updated on: 2026-01-07
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| ah_shortcodes | ah_shortcodes | to 1.0.2 (inc) |
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 can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection of this vulnerability involves identifying the presence of the AH Shortcodes plugin version 1.0.2 or earlier on your WordPress installation and checking for usage of the 'column' shortcode attribute that could contain injected scripts. Since the vulnerability is a Stored Cross-Site Scripting via the 'column' shortcode attribute, you can scan your WordPress posts and pages for suspicious shortcode usage containing script tags or unusual JavaScript code within the 'column' attribute. Commands to detect this could include using WP-CLI or database queries to search for shortcode usage. For example, you can run a SQL query on your WordPress database to find posts containing the shortcode with suspicious content: `SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%[column%<script%' OR post_content LIKE '%[column%javascript:%';` Alternatively, use WP-CLI to search posts: `wp post list --post_type=post --field=ID | xargs -I % wp post get % --field=post_content | grep -i '\[column.*<script'`. These commands help identify posts that may have been injected with malicious scripts via the vulnerable shortcode attribute.
Can you explain this vulnerability to me?
The AH Shortcodes plugin for WordPress has a Stored Cross-Site Scripting (XSS) vulnerability in the 'column' shortcode attribute in all versions up to 1.0.2. This occurs because the plugin does not properly sanitize input or escape output, allowing authenticated users with Contributor-level access or higher to inject malicious scripts into pages. These scripts execute whenever any user views the infected page.
How can this vulnerability impact me? :
This vulnerability can allow attackers with Contributor-level access to inject malicious scripts that execute in the browsers of users who visit the affected pages. This can lead to theft of user data, session hijacking, defacement, or other malicious actions performed in the context of the affected website.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include updating the AH Shortcodes plugin to a version later than 1.0.2 where the vulnerability is fixed, or if no update is available, disabling or removing the plugin to prevent exploitation. Additionally, restrict Contributor-level and above users from adding or editing shortcodes until the issue is resolved. Review and sanitize existing content for injected scripts in the 'column' shortcode attribute and remove any malicious code. Implement Web Application Firewall (WAF) rules to block attempts to inject scripts via shortcodes. Finally, monitor your WordPress site for suspicious activity and unauthorized content changes.