db
MySQL 5.7.44 service providing the database backend for WordPress, with healthcheck and persistent volume.
docker-compose.yml:2-15MainWP Dashboard – The Private WordPress Manager for Multiple Website Maintenance Plugin <= 3.1.2 - Stored Cross-Site Scripting
CVE-2016-15041 has a selected CVSS score of 7.2 (high); EIP currently links 1 repository PoC, 1 Nuclei template, and 1 lab environment.
The MainWP Dashboard – The Private WordPress Manager for Multiple Website Maintenance plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘mwp_setup_purchase_username’ parameter in versions up to, and including, 3.1.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
CISA Coordinator · SSVC 2.0.3 · Evaluated Oct 16, 2024 · Source: CVE List
| Product | Source | Version range | Status |
|---|---|---|---|
MainWP Dashboard -The Private WordPress Manager for Multiple Website Maintenance PluginBrowse MainWP / MainWP Dashboard -The Private WordPress Manager for Multiple Website Maintenance Plugin | VulnCheck | Version data not supplied | |
MainWP Dashboard: Self-hosted WordPress Management for AgenciesBrowse mainwp / MainWP Dashboard: Self-hosted WordPress Management for AgenciesDefault status: unaffected | CVE List | Before 3.1.3 | affected |
The artifact is a Bash script (poc.sh) that exploits payload withheld, an unauthenticated stored XSS vulnerability in MainWP Dashboard <= 3.1.2. It fetches a nonce, injects a JavaScript payload via the mwp_setup_purchase_username parameter, and verifies the payload is stored.
No backdoor observed in reviewed code
The supplied evidence consists of a Dockerfile, README, and a PoC shell script for payload withheld, a stored XSS vulnerability in the MainWP Dashboard WordPress plugin. The Dockerfile builds a lab environment, the README documents the vulnerability and usage, and the PoC script demonstrates the unauthenticated XSS injection. No backdoor, deceptive payload, or concealed operator-directed harm is present. The PoC script performs only the documented XSS proof-of-concept actions: fetching a nonce, injecting a benign alert() payload, and verifying storage. No persistence, credential theft, unrelated remote access, or hidden executable behavior is observed.
The script actively injects a malicious payload into a vulnerable application and verifies its storage, which constitutes exploitation, not just detection.
scripts/poc.sh:2scripts/poc.sh:28-34README.md:52scripts/poc.sh:7scripts/poc.sh:16-17scripts/poc.sh:29scripts/poc.sh:31-34scripts/poc.sh:41scripts/poc.sh:29README.md:1-3This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
A Docker Compose environment that deploys a WordPress 6.2 instance with a vulnerable MainWP Dashboard plugin (version 3.1.2) for demonstrating CVE-2016-15041, an unauthenticated stored XSS vulnerability.
docker-compose.yml:1-33Dockerfile:1-40README.md:1-83The README explicitly states it is a 'Vulnerable lab for CVE-2016-15041', the Dockerfile installs a patched vulnerable plugin, and a PoC script is provided to exercise the XSS.
README.md:1-3Dockerfile:3-12scripts/poc.sh:1-3MySQL 5.7.44 service providing the database backend for WordPress, with healthcheck and persistent volume.
docker-compose.yml:2-15WordPress 6.2 container built from a custom Dockerfile that installs the vulnerable MainWP Dashboard plugin and a custom entrypoint for automated setup.
docker-compose.yml:17-28Dockerfile:1-40Custom entrypoint that waits for MySQL, installs WordPress via WP-CLI, activates the vulnerable plugin, and prints lab access information.
docker-entrypoint-custom.sh:1-58ZIP archive containing the MainWP Dashboard plugin version 3.1.2 with PHP 8 compatibility patches; the XSS vulnerability remains unpatched.
Dockerfile:3-12Dockerfile:20-23Bash script that demonstrates the unauthenticated stored XSS by fetching a nonce, injecting a payload, and verifying its storage.
scripts/poc.sh:1-60Supported by supplied evidence
The lab explicitly targets CVE-2016-15041, the Dockerfile installs the vulnerable plugin version, and the PoC script exercises the described unauthenticated stored XSS via the mwp_setup_purchase_username parameter.
README.md:1-3Dockerfile:3-12scripts/poc.sh:1-3scripts/poc.sh:30-35README.md:7-9README.md:7-11README.md:17-18README.md:7-11scripts/poc.sh:14-22scripts/poc.sh:24-35scripts/poc.sh:37-55All visible behavior is confined to the lab's own containers: the custom entrypoint only installs WordPress and activates the plugin, the PoC script only targets the local WordPress instance, and no host escape, external connectivity, persistence, or destructive actions are present.
docker-entrypoint-custom.sh:1-58scripts/poc.sh:1-60docker-compose.yml:1-33This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.
Packet coverage: some source evidence omitted
MainWP Dashboard – The Private WordPress Manager for Multiple Website Maintenance plugin for WordPress versions up to 3.1.2 contains a stored cross-site scripting caused by insufficient input sanitization and output escaping in 'mwp_setup_purchase_username' parameter, letting unauthenticated attackers inject and execute arbitrary scripts when users access affected pages.
Unauthenticated attackers can inject scripts that execute in users' browsers, potentially leading to session hijacking, defacement, or redirection.
Update to the latest version of the plugin that addresses this vulnerability.
Source: ProjectDiscovery