CVE-2026-11597: Stored XSS in Surbma Infusionsoft Shortcode Plugin (WordPress)
A WordPress plugin called Surbma | Infusionsoft Shortcode (versions up to 2.0.1) fails to properly validate and sanitize user input when creating shortcodes that embed external scripts. An authenticated WordPress user with contributor access or higher can inject malicious code into shortcode parameters, which gets embedded in web pages. Any visitor to those pages will execute the injected script in their browser, potentially compromising their session or harvesting sensitive information. The vulnerability requires an authenticated user to exploit it, but once weaponized, affects all subsequent visitors to the compromised page.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.4 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-27 / 2026-06-29
NVD description (verbatim)
The Surbma | Infusionsoft Shortcode plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'infusionsoft-form' shortcode in versions up to, and including, 2.0.1. This is due to insufficient input sanitization and output escaping on user-supplied 'account' and 'id' shortcode attributes in the surbma_infusionsoft_shortcode_shortcode() function, which are concatenated directly into a <script> tag's src attribute. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
5 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability resides in the surbma_infusionsoft_shortcode_shortcode() function, which processes the 'infusionsoft-form' shortcode. The 'account' and 'id' attributes supplied by an authenticated user are concatenated directly into a script tag's src attribute without sanitization or escaping. This allows an attacker to break out of the intended URL context and inject arbitrary JavaScript. The attack is stored in page content, meaning it persists and affects every user who views the page. The root cause is insufficient input validation combined with direct interpolation into HTML attributes, a classic Stored XSS pattern (CWE-79).
Business impact
Organizations relying on this plugin risk unauthorized access to user accounts, credential theft, malware distribution, and loss of user trust. Because the vulnerability requires contributor-level access, the risk is most acute in multi-author WordPress environments where content contributors are not fully trusted or where accounts are compromised. If an attacker injects a script that harvests session tokens or redirects users to phishing pages, customer data and organizational reputation are at immediate risk. The stored nature of the attack means remediation requires both patching and reviewing all published pages for injected content.
Affected systems
WordPress installations using the Surbma | Infusionsoft Shortcode plugin in versions up to and including 2.0.1 are affected. Organizations that have granted contributor-level or higher permissions to multiple users, or those with weak contributor account security, face elevated risk. This includes WordPress sites using the plugin for Infusionsoft form integration across any industry that manages user registrations or leads through these forms.
Exploitability
Exploitation requires valid WordPress authentication with contributor access or above, making this a privilege-escalated attack rather than unauthenticated exploitation. However, contributor accounts are relatively common in WordPress environments and are often assigned to consultants, freelancers, or marketing staff. Once exploited, no user interaction is required for the stored XSS to fire—it executes passively whenever anyone visits the compromised page. The low complexity (AC:L) and network accessibility (AV:N) indicate that an attacker with valid credentials can exploit this quickly and reliably.
Remediation
Update the Surbma | Infusionsoft Shortcode plugin to a patched version beyond 2.0.1. Verify with the plugin vendor's advisory for the specific version number. In addition, review all published pages and posts using the 'infusionsoft-form' shortcode for any suspicious 'account' or 'id' parameter values that appear encoded or unusually long. If exploitation is suspected, audit the plugin's database entries and consider temporarily disabling the plugin until a patch is applied and pages are verified clean. Implement code review and security testing practices for future plugin deployments.
Patch guidance
Check the Surbma plugin repository or vendor advisory for version 2.0.2 or later (verify against official sources—this is an example only). Apply the update through WordPress's plugin management interface or via your package manager. After updating, test the Infusionsoft form shortcode functionality in a staging environment to confirm forms still integrate correctly. Review the plugin's changelog to confirm the patch specifically addresses input sanitization and output escaping for the shortcode attributes in question.
Detection guidance
Search your WordPress database for 'infusionsoft-form' shortcodes with suspicious 'account' or 'id' parameter values. Look for encoded characters, script tags, or unusually long strings in these attributes. Review post and page revision history for unexpected changes to shortcode parameters. Monitor web server logs for unusual script tag injection patterns in POST requests or page content updates. In your WordPress plugin security settings, audit which users have contributor access and when they were granted that permission. Consider using WordPress security plugins that detect stored XSS patterns in post content.
Why prioritize this
Although the CVSS score is 6.4 (MEDIUM), the stored XSS attack vector combined with multi-user WordPress environments elevates practical risk. Stored XSS is persistent and affects all page visitors, not just a single session. The vulnerability's presence in a third-party plugin that may not be actively maintained poses long-term exposure. Organizations with many contributors or those handling sensitive user data should prioritize this patch quickly, even if the numerical score suggests medium urgency.
Risk score, explained
The CVSS 3.1 score of 6.4 reflects a network-accessible (AV:N), low-complexity (AC:L) vulnerability requiring authentication (PR:L), with a changed scope (S:C) that allows impact to resources beyond the vulnerable component. The score assigns partial impact to confidentiality and integrity (C:L/I:L) but no availability impact (A:N). The authentication requirement prevents a higher score, but the cross-scope impact (S:C) correctly escalates the threat because compromised pages affect all visitors. Organizations should view this as MEDIUM-to-HIGH in practical terms given the persistence and user exposure.
Frequently asked questions
Do we need to disable the plugin immediately, or can we wait for a patch?
If you are certain no exploitation has occurred and only trusted users have contributor access, you can safely wait for a patch. However, if your WordPress environment has multiple contributors or any account compromise is suspected, temporarily disabling the plugin reduces risk. The stored nature of XSS means that any injection persists until the plugin is patched and pages are manually reviewed, so waiting increases the window of exposure.
How do we know if this vulnerability has been exploited on our site?
Review your WordPress revisions for 'infusionsoft-form' shortcodes with unexpected or encoded parameter values. Check database logs if available. Search your page source code in published posts for any script tags or suspicious HTML within shortcode parameters. If you find unexpected content, assume exploitation occurred and conduct a broader security audit of contributor accounts and page editing history.
Does this affect sites that do not use the Infusionsoft plugin?
No. This vulnerability is specific to the Surbma | Infusionsoft Shortcode plugin. Sites that do not have this plugin installed are not affected. However, if you use a different plugin for Infusionsoft integration, verify it properly escapes user input and does not suffer from similar XSS patterns.
Can unauthenticated visitors exploit this, or is it only contributor-level users?
Only authenticated users with contributor access or above can inject the malicious shortcode. Unauthenticated visitors cannot directly exploit the vulnerability. However, once an authenticated attacker injects the code, all subsequent visitors—authenticated or not—will execute the injected script when they view the compromised page.
This analysis is based on publicly disclosed vulnerability data and should not be treated as legal advice or a guarantee of security. Organizations should verify patch availability and compatibility with their specific WordPress environment before applying updates. SEC.co does not provide real-time threat intelligence or active exploitation data. Always consult the plugin vendor's official advisory and conduct internal testing before deployment. If you suspect active exploitation, engage your security team or a professional incident response service. Source: NVD (public-domain), retrieved 2026-08-05. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk
- CVE-2019-25743MEDIUMWordPress Soliloquy Lite 2.5.6 Stored XSS Vulnerability
- CVE-2019-25744MEDIUMWordPress Popup Builder 3.49 Stored XSS Vulnerability – Exploit Prevention & Patch Guide