CVE-2025-13989
Stored XSS in WP Dropzone Plugin via 'callback' Attribute
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 | wp_dropzone | 1.1.1 |
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 WP Dropzone WordPress plugin (versions up to 1.1.1). It occurs because the plugin does not properly sanitize or escape user input in the 'callback' shortcode attribute. This attribute is evaluated as JavaScript code using the `new Function()` constructor, allowing authenticated users with Contributor-level access or higher to inject malicious scripts that execute whenever someone views the affected page.
How can this vulnerability impact me? :
An attacker with Contributor-level access or above can inject arbitrary JavaScript code into pages via the vulnerable 'callback' attribute. This malicious code will execute in the browsers of users who visit those pages, potentially leading to theft of user data, session hijacking, defacement, or other malicious actions that compromise the security and integrity of the website and its users.
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 WP Dropzone plugin version 1.1.1 or earlier on your WordPress installation and checking for usage of the 'callback' shortcode attribute that is vulnerable to stored XSS. Since the vulnerability involves JavaScript code execution via the 'callback' attribute evaluated with `new Function()`, you can detect suspicious shortcode usage in WordPress content or database by searching for the 'callback' attribute in posts or pages. For example, you can run a WP-CLI command to search for the shortcode usage with 'callback' attribute: `wp search-replace '\[wp-dropzone.*callback=.*\]' '' --dry-run` to find instances. Additionally, monitoring HTTP requests or logs for unusual JavaScript payloads or unexpected script execution in pages containing the dropzone shortcode may help. There are no specific network commands provided in the resources, but inspecting the WordPress content and plugin version is key. [3, 4]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include updating the WP Dropzone plugin to version 1.1.1 or later, as this version includes security fixes that address the vulnerability by implementing strict input sanitization and output escaping on the 'callback' shortcode attribute. If updating is not immediately possible, restrict Contributor-level and above user permissions to trusted users only, since the vulnerability requires authenticated users with Contributor or higher access. Additionally, review and remove any suspicious or untrusted 'callback' shortcode attributes in your WordPress content. Ensure that nonce verification and user capability checks are properly enforced in your installation, as implemented in version 1.1.1. Finally, monitor your site for any signs of script injection or unusual behavior. [3, 4]