Skip to main content

All-in-One WP Migration CVE-2026-89064

| EUVDEUVD-2026-81315 MEDIUM
Insufficiently Protected Credentials (CWE-522)
2026-09-17 Wordfence GHSA-w3hh-7qrr-242f
5.3
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Send anonymous request to admin-ajax.php
  2. Delivery
    Include crafted Authorization: Basic header
  3. Exploit
    admin_init fires init() unauthenticated
  4. Execution
    update_option writes ai1wm_auth_header
  5. Impact
    Overwrite or harvest stored credential

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
Exploitation Conditions

No special conditions to reach the write path - remote unauthenticated exploitation against default configurations of All-in-One WP Migration and Backup ≤7.110, since Ai1wm_Main_Controller::init() is registered on admin_init which executes for anonymous requests to /wp-admin/admin-ajax.php and /wp-admin/admin-post.php. The credential-HARVESTING variant is materially amplified in environments that use WordPress Application Passwords or HTTP Basic auth for REST API / third-party integrations against /wp-admin/, since those live credentials are then silently captured; the overwrite variant needs only an attacker-chosen Authorization: Basic header. The main LIMIT on real-world impact is that recovering the captured secrets in reversible base64 requires separate read access to the ai1wm_auth_header option (database or backup export), so this alone yields a credential-poisoning/integrity write rather than a direct network-observable disclosure.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, 5.3 Medium) accurately captures the DIRECTLY reachable capability: an unauthenticated network attacker can trigger the vulnerable write path with no user interaction and low complexity, but the vendor scored only I:L because the attacker's guaranteed primitive is overwriting the stored ai1wm_auth_header option rather than reading arbitrary secrets. The more alarming credential-harvesting angle (silently capturing legitimate Application Passwords / HTTP Basic creds into the DB in reversible base64) is a genuine CWE-522 concern, but realizing that confidentiality impact requires a SECONDARY read primitive (DB/option access via another vuln or backup export), which is why C:N is defensible for THIS finding in isolation - worth noting the score understates aggregate risk when chained. No EPSS score, KEV listing, POC, or SSVC data was supplied, so exploitation must be treated as 'no public exploit identified at time of analysis' - this is not confirmed active exploitation. Net: a real, easily triggerable low-privilege write bug in an extremely widely deployed plugin; prioritize patching due to install base and trivial exploitability, not because of a confirmed high-impact primitive.

Exploit ScenarioDerived

An attacker sends an anonymous POST to /wp-admin/admin-ajax.php or /wp-admin/admin-post.php carrying a crafted 'Authorization: Basic' header; because Ai1wm_Main_Controller::init() runs on admin_init (which fires unauthenticated on those endpoints) with no capability, nonce, or login check, the supplied username/password are base64-stored into the ai1wm_auth_header option. Alternatively, the same unauthenticated code path silently harvests real WordPress Application Passwords transmitted as Basic auth by legitimate REST/third-party integrations, banking them in the database in reversible form. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 17, 2026

Unauthenticated attackers can write to the WordPress database option ai1wm_auth_header in All-in-One WP Migration and Backup versions up to 7.110 by sending a crafted Authorization: Basic header to admin-ajax.php or admin-post.php, because the plugin's Ai1wm_Main_Controller::init() method on the admin_init hook reads PHP_AUTH_USER and PHP_AUTH_PW without authentication or nonce checks and stores them as reversible base64. This integrity-only issue (CVSS 5.3) allows overwriting the stored credential with attacker-chosen values, and in environments using WordPress Application Passwords, legitimate credentials sent to /wp-admin/ are silently captured into the database, though extracting them requires separate read access. No public exploit code or active exploitation has been identified at time of analysis.

RemediationAI

Apply the upstream fix from the Trac changeset (revision 3696427) or update to a patched version once released by the vendor; at the time of analysis, a released patched version has not been independently confirmed. If an immediate update is not possible, consider disabling the All-in-One WP Migration and Backup plugin, though this removes backup and migration functionality. As a compensating control, restrict or monitor anonymous requests to /wp-admin/admin-ajax.php and /wp-admin/admin-post.php that carry an Authorization: Basic header, but note that blocking these endpoints may break legitimate WordPress functionality and integrations. Rotate any WordPress Application Passwords or HTTP Basic credentials that may have been transmitted to /wp-admin/, and review the ai1wm_auth_header database option for unauthorized changes. Refer to the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/5a8737b1-fb68-4609-8474-9395f30c1089?source=cve) and the Trac changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3696427%40all-in-one-wp-migration&new=3696427%40all-in-one-wp-migration) for more information.

Affected VersionsENISA

All-in-One WP Migration and Backup 0 ≤7.110

Affected Packages

euvd all_in_one_wp_migration_and_backup no fix

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 vulnerability resides in the All-in-One WP Migration and Backup plugin for WordPress (CPE: cpe:2.3:a:servmask:all-in-one_wp_migration_and_backup:*:*:*:*:*:*:*:*), affecting versions up to and including 7.110. The root cause is CWE-522 (Insufficiently Protected Credentials): the Ai1wm_Main_Controller::init() method is hooked to admin_init, which executes for unauthenticated requests to /wp-admin/admin-ajax.php and /wp-admin/admin-post.php. On each such request, the code reads $_SERVER['PHP_AUTH_USER'] and $_SERVER['PHP_AUTH_PW'] without verifying that Basic authentication succeeded, no capability check, nonce, or is_user_logged_in() check, and writes them to the ai1wm_auth_header option using update_option() as a reversible base64-encoded string. This design flaw permits two attack variants: an unauthenticated attacker can overwrite the stored credential with an arbitrary value, or-in environments where legitimate integrations send WordPress Application Passwords via HTTP Basic auth to /wp-admin/-the plugin silently stores those live credentials in the database, though recovering them requires separate database or backup read access. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N) reflects that the directly reachable primitive is an integrity write, not a direct confidentiality breach.

Know when PHP 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 (Wordfence) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.3 MEDIUM

Unauthenticated remote trigger with no UI (AV:N/AC:L/PR:N/UI:N); direct primitive is a low-impact option overwrite (I:L), with no attacker-facing read (C:N) or availability effect.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

DescriptionCVE.org

The All-in-One WP Migration and Backup plugin for WordPress is vulnerable to Insufficient Credential Protection in versions up to, and including, 7.110. This is due to the Ai1wm_Main_Controller::init() method - registered on the admin_init hook, which fires unauthenticated on admin-ajax.php and admin-post.php requests - reading $_SERVER['PHP_AUTH_USER'] and $_SERVER['PHP_AUTH_PW'] from any incoming request and writing them to the ai1wm_auth_header option via update_option() as a reversible base64-encoded string, with no capability check, nonce verification, is_user_logged_in() check, or confirmation that Basic authentication actually succeeded. This makes it possible for unauthenticated attackers to capture into the database, in reversible base64 form, any WordPress Application Password or HTTP Basic credential presented to /wp-admin/ by a legitimate integration, or to overwrite the stored credential with an attacker-chosen value by sending an anonymous request carrying a crafted Authorization: Basic header. This is particularly impactful in environments using WordPress Application Passwords for REST API or third-party integrations, as those credentials are transmitted as HTTP Basic auth to /wp-admin/ and will be silently harvested via this unauthenticated write path.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
High
All-in-One WP Migration is a top-tier WordPress plugin with millions of active installs
Data Quality
3 sources
Confidence: Low

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.3%
Patch available No
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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
High

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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

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