Skip to main content

Prime Mover CVE-2026-101890

| EUVDEUVD-2026-90917 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-01 VulnCheck GHSA-rpr7-hhq5-32r7
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged WordPress user
  2. Delivery
    Place crafted package with malicious site_title in prime-mover-export-files
  3. Exploit
    Admin opens Prime Mover Packages list table
  4. Execution
    Unescaped value renders via column_site_title()
  5. Impact
    Script 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Prime Mover 0 <2.2.1

Affected Packages

euvd prime_mover fix: 2.2.1

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

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
WordPress migration/backup plugin with a moderate but not universal install base
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy