Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged WordPress user
-
DeliveryPlace crafted package with malicious site_title in prime-mover-export-files
-
ExploitAdmin opens Prime Mover Packages list table
-
ExecutionUnescaped value renders via column_site_title()
-
ImpactScript executes in administrator browser session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) the ability to place a crafted package - specifically a footprint.json file containing a malicious, unescaped site_title value - inside the plugin's prime-mover-export-files directory, which per the CVSS PR:L implies authenticated low-privilege access or another write path to that directory; and (2) an administrator subsequently viewing the Prime Mover Packages list table in wp-admin, where column_site_title() in PrimeMoverBackupMenuListTable.php renders the value unescaped (the UI:P passive-interaction requirement). Package restoration is explicitly NOT required. Limiting factors: only Prime Mover versions before 2.2.1 are affected; the attacker needs a prior foothold to write the package file; and the payload is inert until a privileged user opens the specific admin list table, bounding this to targeted post-compromise scenarios rather than drive-by unauthenticated attacks. |
| Impact | This is a moderate, not high-priority, issue. The only severity signal present is a vendor/CVSS 4.0 score of 5.1 (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P with impact confined to subsequent-system confidentiality and integrity, SC:L/SI:L). No EPSS score, no CISA KEV listing, and no public POC were provided - exploitation status is therefore 'no public exploit identified at time of analysis.' The CVSS vector itself tempers the network attack vector: PR:L means the attacker must already be authenticated at a low privilege level, and UI:P means an administrator must passively view the affected list table for the payload to fire. The signals are internally consistent (stored XSS firing in an admin browser, hence the subsequent-system scope impact and N on vulnerable-system C/I/A), so there is no conflict to flag - but note that EPSS and any in-the-wild telemetry are simply absent, so widespread automated exploitation cannot be assessed. Realistically this is a privilege-escalation/admin-session-compromise path contingent on a prior foothold, not a wormable unauthenticated bug. |
| Exploit ScenarioDerived | A low-privileged authenticated user (or an attacker who has gained the ability to write to the plugin's export directory) places a crafted package whose footprint.json carries a malicious site_title containing JavaScript. When an administrator later opens the Prime Mover Packages list table, the unescaped value renders in column_site_title() and executes script in the admin's browser - no package restore is required. No public POC was provided, so this reflects the described mechanism rather than confirmed exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Stored cross-site scripting in the Prime Mover WordPress plugin before 2.2.1 allows an authenticated low-privilege attacker who can write a crafted package into the plugin's prime-mover-export-files directory to execute arbitrary JavaScript in an administrator's browser. The malicious site_title value inside a package's footprint.json is rendered unescaped by the column_site_title() method in PrimeMoverBackupMenuListTable.php whenever an admin opens the Prime Mover Packages list table, and no package restoration is required for the payload to fire. Exploitation is bounded rather than drive-by: the attacker needs a prior write foothold on that directory and the payload is inert until a privileged user views the specific admin screen; no public exploit code has been identified at time of analysis, there is no CISA KEV listing, and no EPSS score was supplied in the available data.
RemediationAI
Vendor-released patch: 2.2.1 - update the Prime Mover plugin to version 2.2.1 or later, which is delivered through the standard WordPress plugin update mechanism and documented in the vendor changelog at https://wordpress.org/plugins/prime-mover/#developers; the VulnCheck advisory at https://www.vulncheck.com/advisories/prime-mover-stored-xss-via-package-metadata provides additional details. Because the vulnerable render only requires the package file to sit in the prime-mover-export-files directory, a practical compensating control is to tighten write access to that directory: enforce filesystem ownership and permissions so that web users without package-management privileges (and non-admin WordPress roles) cannot create or modify files there, accepting that this may break legitimate export workflows for lower-privileged roles. Administrators can also delete or quarantine unrecognized package directories and footprint.json files, and periodically audit that directory for unexpected packages; renaming or removing the directory entirely will disable Prime Mover export/backup functionality as a side effect. Restricting wp-admin access to trusted administrator accounts, and deploying a Content Security Policy that blocks inline and third-party script execution in the WordPress admin area, reduce the likelihood that injected script executes, though CSP may break some admin plugins. Given the PR:L prerequisite, treating any pre-existing write access to the web root as a compromise indicator and rotating administrator sessions and salts after cleanup is advisable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Prime Mover plugin (vendor: codexonics, CPE cpe:2.3:a:codexonics:prime_mover:*:*:*:*:*:*:*:*), a PHP-based WordPress backup, migration and export/import tool. Root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. cross-site scripting) of the stored/persistent subtype: attacker-influenced data read from a package's footprint.json metadata file is written into the Prime Mover Packages administration table without HTML escaping by column_site_title() in PrimeMoverBackupMenuListTable.php. WordPress admin tables are HTML documents rendered with the administrator's session cookies and nonces, so an unescaped value executes in that origin and can act with the administrator's privileges. The plugin stores package artifacts under the prime-mover-export-files directory inside the WordPress installation, which is the write path the attacker must reach, and the vulnerable render happens automatically when the list table is displayed, meaning the malicious package does not have to be restored or imported. Both the vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) and the independently assessed CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) agree on network vector, low privileges and a changed scope, indicating the script escapes the vulnerable component's security context into the admin interface.
Know when Prime Mover gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Attacker needs low-privileged access to drop the package (PR:L) and an admin must view the table (UI:R); stored XSS executing in the admin browser crosses a security boundary (S:C) with limited C/I impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
The Prime Mover plugin for WordPress before 2.2.1 contains a stored cross-site scripting vulnerability that allows attackers to execute arbitrary JavaScript by injecting an unescaped site_title value in a package's footprint.json file. Attackers can place a crafted package under the prime-mover-export-files directory so that the malicious value renders unescaped in the column_site_title() method of PrimeMoverBackupMenuListTable.php, triggering script execution in an administrator's browser when they view the Prime Mover Packages list table without needing to restore the package.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Prime Mover
View allThe Migrate WordPress Website & Backups WordPress plugin before 1.9.3 does not prevent directory listing in sensitive di
Authenticated WordPress administrators using the Prime Mover migration plugin before version 2.2.1 can abuse a Zip Slip
Authenticated WordPress administrators can abuse the Prime Mover plugin before 2.2.1 to delete arbitrary directories out
EUVD-2026-90917
GHSA-rpr7-hhq5-32r7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB