CVE-2026-13733: Download Manager WordPress Plugin Stored XSS via Shortcode Attribute
The Download Manager plugin for WordPress contains a security flaw that allows contributors and higher-privileged users to inject malicious JavaScript code into pages. The vulnerability exists in how the plugin handles the 'no_data_msg' shortcode attribute—specifically, it fails to properly clean the attribute value before displaying it. An attacker with contributor access can craft a specially formatted payload that bypasses WordPress's standard content filtering and executes arbitrary scripts whenever someone visits an affected page. This is a stored vulnerability, meaning the malicious code persists in the database and affects all visitors.
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-07-01 / 2026-07-01
NVD description (verbatim)
The Download Manager plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'no_data_msg' Shortcode Attribute in all versions up to, and including, 3.3.60 due to insufficient input sanitization and output escaping. 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. Although wp_kses_post is applied to post content on save, it only strips HTML tokens and does not neutralize C-style escape sequences embedded within shortcode attribute values, meaning contributors can craft a payload that survives the kses filter and is silently reconstructed into a raw script tag at render time.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The Download Manager plugin processes shortcode attributes without adequate sanitization and escaping. Although the plugin applies wp_kses_post to post content during save operations, this function only strips HTML tokens and does not neutralize C-style escape sequences (such as \x3c, \x3e, or Unicode variants) embedded within shortcode attribute values. An authenticated attacker with contributor-level or higher permissions can construct a payload using these escape sequences in the 'no_data_msg' attribute. During rendering, the plugin silently reconstructs these escape sequences into executable script tags, circumventing the kses filter. The vulnerability affects all versions up to and including 3.3.60 due to insufficient input validation at the shortcode handler level.
Business impact
This vulnerability enables privilege escalation within WordPress sites. Contributors—typically content editors or authors with lower-level access—can execute JavaScript with the permissions of any user who views an affected page, including administrators. An attacker could steal session tokens, modify site content, redirect users to malicious sites, deface pages, or inject malware. On multisite installations, this could affect multiple sites if the plugin is network-activated. The severity is contained by the requirement for authenticated access, but many WordPress sites operate with loose contributor permissions, making this a realistic attack vector.
Affected systems
All versions of the Download Manager plugin for WordPress up to and including version 3.3.60 are vulnerable. The vulnerability requires an authenticated user with contributor-level access or higher (contributor, author, editor, or administrator roles). It only manifests on pages or posts containing the vulnerable shortcode with a crafted 'no_data_msg' attribute. Severity depends on your installation's contributor access policies and user base.
Exploitability
Exploitability is straightforward for anyone with contributor access. No complex technical steps, special configurations, or user interaction beyond viewing a page is required. The attacker does not need admin access to inject the payload—contributor-level permissions suffice. However, the vulnerability is limited to authenticated users; unauthenticated attackers cannot exploit it directly. The barrier to exploitation is low for insiders or compromised accounts with contributor privileges. The payload bypasses WordPress's standard kses filtering, reducing the chance of detection by basic content moderation tools.
Remediation
Update the Download Manager plugin to a patched version released after July 2026. Contact the plugin vendor for the specific patched version number and timeline. As an immediate mitigation, audit your WordPress user roles and remove contributor access from untrusted users. Review all pages and posts containing Download Manager shortcodes for suspicious 'no_data_msg' attribute values containing escape sequences or unusual characters. Consider disabling the plugin entirely if you do not actively use its shortcode functionality. Implement a Web Application Firewall (WAF) rule to detect and block requests containing the shortcode with suspicious attribute patterns.
Patch guidance
Check the WordPress plugin repository or the plugin vendor's website for a security update dated after July 1, 2026. The patch should include sanitization of the 'no_data_msg' attribute and proper escaping during render. Apply the update as soon as it becomes available. Test the updated plugin on a staging environment before deploying to production. Verify that the shortcode continues to function correctly after patching. Document the update in your change management system.
Detection guidance
Search your WordPress database for posts and pages containing Download Manager shortcodes with 'no_data_msg' attributes. Look for unusual escape sequences such as \x, \u, or &#, particularly in patterns like \x3cscript, \x73cript, or similar variants. Check the wp-admin user audit logs for content edits made by contributor-level accounts that inserted or modified such shortcodes. Monitor page views for unexpected JavaScript execution or console errors that may indicate the presence of injected scripts. Use security plugins that scan post content for encoded payloads or anomalous shortcode attributes.
Why prioritize this
Although the CVSS score of 6.4 is moderate, prioritize this vulnerability if your WordPress site has a large contributor base, if you grant frequent contributor access to external partners or clients, or if you have high-value pages that could be defaced or used for credential theft. The stored nature of the attack and the ease of exploitation by insiders make this a higher practical risk than the numeric score suggests. If your contributor user base is small and tightly controlled, remediation can be scheduled in the next routine patch cycle, but it should not be deferred indefinitely.
Risk score, explained
The CVSS 3.1 score of 6.4 (MEDIUM) reflects the following factors: Network-accessible attack vector (AV:N), low complexity (AC:L), and requirement for low privileges (PR:L) push severity up. However, the scope is changed (S:C), meaning the impact crosses trust boundaries, which increases the score. The impact is limited to confidentiality and integrity (C:L, I:L) with no availability impact (A:N). The score does not fully capture the insider-threat nature of the vulnerability or the high likelihood of exploitation by disgruntled employees or compromised accounts. The practical risk may be higher in environments with permissive contributor access.
Frequently asked questions
Do I need to have admin access to exploit this vulnerability?
No. Any user with contributor-level access or above can exploit this vulnerability. Contributors, authors, editors, and administrators can all inject the malicious payload. This is what makes it particularly dangerous—the attacker does not need to compromise an admin account.
Will my antivirus or WAF detect this attack?
A standard WAF may not detect the attack because the payload is stored in the database and only reconstructed at page render time. Some WAFs with content inspection may catch the escape sequences, but basic WAFs focused on HTTP request filtering may miss it. Antivirus typically does not monitor WordPress database content. You need security scanning specifically designed for WordPress post content.
If I update the plugin, will the injected code automatically be removed from my pages?
No. Updating the plugin will prevent new injections, but it will not automatically clean up existing malicious payloads already stored in your database. After patching, you must audit your content and manually remove any suspicious shortcode attributes or inject a database cleanup script provided by the vendor.
Can this vulnerability affect users who are not logged in?
Yes. While only authenticated contributors can inject the payload, any visitor—logged in or not—who views a page containing the injected shortcode will have the malicious script execute in their browser. This means attackers can steal session cookies or perform actions on behalf of anonymous visitors.
This analysis is based on the CVE description and CVSS assessment as of July 1, 2026. Patch availability, specific remediation steps, and detection signatures should be verified against the official WordPress plugin repository and the plugin vendor's security advisory. SEC.co does not provide guarantee of patch release timelines or specific version numbers; organizations must confirm patch details directly with the vendor. This vulnerability requires authenticated access and does not affect WordPress installations without the Download Manager plugin. Security decisions should account for your organization's specific contributor access policies and user risk profile. Source: NVD (public-domain), retrieved 2026-08-09. 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