Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Subscriber-level WordPress account
-
DeliverySubmit crafted POST to settings() with XSS payload in ai1wm_backups_path
-
ExploitPayload stored in database without sanitization
-
ExecutionAdministrator navigates to plugin settings page
-
PersistInjected script executes in admin browser context
-
ImpactHijack admin session or create rogue administrator account
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 | The target site must run All-in-One WP Migration Unlimited Extension version 2.84 or earlier. The attacker must hold a valid WordPress account with at minimum Subscriber-level access - the lowest authenticated WordPress role. On sites with open user registration (Settings > General > Membership enabled), this barrier is trivially low as anyone can self-register without prior access. On sites with closed registration, the attacker must first obtain or compromise a subscriber-level credential. Exploitation is further gated on a site administrator actively navigating to the plugin settings page after payload injection; if no administrator visits that page, the stored payload does not execute despite being present in the database. The CVSS PR:L vector confirms authentication is required; unauthenticated exploitation is not possible. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N, score 6.4) rates this as Medium severity, with the scope-changed designation (S:C) reflecting cross-privilege escalation from subscriber to administrator context. However, the UI:N assignment is in direct tension with the description, which states the payload fires only when an administrator accesses the plugin settings page - a more accurate assignment would be UI:R, reducing the base score and better representing actual exploitation timing. No EPSS data was included in the available intelligence, preventing probabilistic exploitation forecasting. The absence of a KEV listing and the lack of any identified public exploit code indicate this is not under active mass exploitation at time of analysis. Real-world priority is moderate: the chief risk is session hijacking or unauthorized admin-account creation on WordPress sites with open user registration, where the Subscriber-level prerequisite is a trivially low barrier. On sites with closed registration the attack path requires prior account compromise, substantially narrowing the realistic threat surface. |
| Exploit ScenarioDerived | An attacker self-registers a Subscriber account on a WordPress site with open user registration enabled, then sends a crafted POST request to the settings() function embedding a JavaScript payload in the ai1wm_backups_path parameter; no elevated privileges are required beyond a valid subscriber session. The malicious value is stored in the WordPress database without sanitization. When a site administrator next navigates to the plugin's settings page, the stored script executes in their authenticated browser context, enabling session cookie theft or silent creation of a rogue administrator account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Stored cross-site scripting in All-in-One WP Migration Unlimited Extension (all versions up to and including 2.84) allows any authenticated WordPress user with Subscriber-level access to plant persistent JavaScript payloads via the ai1wm_backups_path parameter, which execute in the administrator's browser context when the plugin settings page is visited. Two compounding weaknesses drive the flaw: absent input sanitization on the parameter and missing authorization checks on the settings() function, permitting low-privileged users to write attacker-controlled data into plugin configuration. A partial fix was shipped in version 2.84 but a fully remediated release has not been confirmed, and no public exploit code has been identified at time of analysis.
RemediationAI
Upstream fix available (partial); released fully patched version not independently confirmed - version 2.84 represents only a partial remediation, and no complete fix version number has been specified in available data. Administrators should monitor the ServMask changelog at https://help.servmask.com/knowledgebase/unlimited-extension-changelog/ and apply any update beyond 2.84 immediately upon release. As compensating controls prior to a full patch: disable open WordPress user registration (Settings > General, uncheck 'Anyone can register') to eliminate the self-registration attack path, though this does not protect sites with pre-existing untrusted subscriber accounts. Audit the current ai1wm_backups_path value in the WordPress database for injected script tags and reset it to a known-good path if tampered. Temporarily disabling the plugin is the most effective compensating control but will interrupt backup and migration workflows - weigh this operational impact against the subscriber-account exposure on the specific site.
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 settings() function within the All-in-One WP Migration Unlimited Extension WordPress plugin by ServMask (CPE: cpe:2.3:a:servmask:all-in-one_wp_migration_unlimited_extension:*:*:*:*:*:*:*:*). CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS) identifies the root-cause class: the ai1wm_backups_path parameter value is written to persistent storage without sanitization and later rendered in the admin UI without proper output escaping. This is a stored (persistent) XSS variant, meaning the payload survives server restarts and fires on every subsequent page load of the affected view. The missing authorization check on settings() is an independent compounding weakness: WordPress Subscriber accounts, the lowest authenticated role, can invoke a function that should be restricted to administrators, enabling the cross-privilege delivery mechanism.
Know when All In One Wp Migration Unlimited Extension 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
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Changed UI:N to UI:R because payload only executes when an administrator explicitly visits the settings page post-injection, constituting required user interaction.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The All-in-One WP Migration Unlimited Extension plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'ai1wm_backups_path' parameter in all versions up to, and including, 2.84. This is due to insufficient input sanitization and output escaping on user-supplied attributes combined with missing authorization checks on the settings() function. This makes it possible for authenticated attackers, with Subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever an administrator accesses the plugin settings page. The vulnerability was partially patched in version 2.84.
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.
EUVD-2026-67648
GHSA-vh38-jq6h-xh79
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB