CVE-2025-6756 Overview
CVE-2025-6756 is a Stored Cross-Site Scripting (XSS) vulnerability in the Ultimate Addons for Contact Form 7 WordPress plugin developed by Themefic. The flaw affects all versions up to and including 3.5.21. The plugin fails to sanitize input and escape output on user-supplied attributes passed to the UACF7_CUSTOM_FIELDS shortcode. Authenticated users with contributor-level access or higher can inject arbitrary JavaScript that executes when any user views an affected page. The vulnerability is tracked under CWE-79: Improper Neutralization of Input During Web Page Generation.
Critical Impact
Authenticated contributors can inject persistent JavaScript that executes in the browser of every visitor, enabling session theft, account takeover, and site defacement.
Affected Products
- Themefic Ultimate Addons for Contact Form 7 versions up to and including 3.5.21
- WordPress sites using the plugin's UACF7_CUSTOM_FIELDS shortcode
- The vulnerable code path is in addons/dynamic-text/inc/shortcode.php
Discovery Timeline
- 2025-07-01 - CVE-2025-6756 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-6756
Vulnerability Analysis
The vulnerability resides in the UACF7_CUSTOM_FIELDS shortcode handler within the plugin's dynamic-text addon. When the shortcode is rendered, user-controlled attributes are concatenated into HTML output without proper sanitization or escaping. An authenticated attacker with contributor privileges can embed the shortcode with malicious attribute values into a post or page. When an administrator or visitor loads the page, the injected script executes in their browser context under the site's origin.
Because the payload is stored server-side in post content, this is a persistent XSS rather than a reflected one. The attack scope changes (S:C in the CVSS vector) because script execution in a victim's browser can affect resources beyond the vulnerable component itself, including administrative sessions and browser-accessible data.
Root Cause
The root cause is insufficient input sanitization and missing output escaping when rendering shortcode attributes in the shortcode.php file of the dynamic-text addon. The plugin trusts attribute values supplied by shortcode authors and echoes them directly into the DOM. Standard WordPress escaping functions such as esc_attr() or esc_html() were not applied to the affected attributes. Review the vulnerable source at the WordPress Plugin Code Snippet.
Attack Vector
An attacker first obtains contributor-level access, which WordPress sites often grant to guest authors or community contributors. The attacker then creates or edits a post containing the UACF7_CUSTOM_FIELDS shortcode with a crafted attribute containing JavaScript. When a reviewer, editor, administrator, or public visitor loads the page, the browser parses and executes the injected script. Successful exploitation can lead to session cookie theft, forced administrative actions via CSRF, or redirection to attacker-controlled infrastructure. See the Wordfence Vulnerability Report for additional analysis.
No public proof-of-concept exploit code is available at this time. The vulnerability mechanism is described in the vendor changeset rather than through synthetic exploit code.
Detection Methods for CVE-2025-6756
Indicators of Compromise
- Post or page content containing [UACF7_CUSTOM_FIELDS] shortcode instances with attribute values that include <script>, onerror=, onload=, or javascript: payloads.
- Unexpected outbound requests from administrator browsers to unfamiliar domains shortly after loading pages authored by contributors.
- New administrator accounts, changed user roles, or modified plugin/theme files following contributor-authored content publication.
Detection Strategies
- Query the wp_posts table for post content matching the vulnerable shortcode combined with suspicious attribute patterns using regular expressions targeting HTML event handlers or script tags.
- Review recent revisions authored by contributor-level accounts for injected markup within shortcode attributes.
- Deploy a web application firewall rule that inspects saved post content for script fragments inside shortcode attributes before persistence.
Monitoring Recommendations
- Enable WordPress audit logging to track post creation and edits by contributor and author roles.
- Monitor browser Content Security Policy (CSP) violation reports for inline script executions on pages rendering the plugin's shortcodes.
- Alert on privilege escalations, new user creation, and plugin installation events that follow content publication by lower-privileged users.
How to Mitigate CVE-2025-6756
Immediate Actions Required
- Update Ultimate Addons for Contact Form 7 to a version later than 3.5.21 that includes the fix from WordPress Changeset 3319449.
- Audit existing posts and pages for the UACF7_CUSTOM_FIELDS shortcode and inspect attribute values for injected scripts.
- Review contributor and author accounts, revoking access for unknown or inactive users.
Patch Information
Themefic addressed the vulnerability in the plugin's Subversion repository via WordPress Changeset 3319449. The fix adds proper sanitization and escaping to the affected shortcode attribute handling. Site administrators should update to the latest release available on the plugin developer page.
Workarounds
- Restrict contributor and author role assignments until the plugin has been updated.
- Deactivate the Ultimate Addons for Contact Form 7 plugin if the update cannot be applied immediately.
- Implement a strict Content Security Policy that blocks inline script execution to reduce the impact of stored XSS payloads.
- Deploy a WordPress-aware web application firewall to filter shortcode attributes containing script tags or event handlers.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

