CVE-2026-85659

PilotPress <= 2.0.43 - Authenticated (Subscriber+) Privilege Escalation via Account Takeover via 'username' Parameter

2026-10-15 16:30
Supakiad S. (m3ez)

Strategic Overview

Status
Patched in 2.0.44
Affected Plugin
PilotPress
Affected Version
<= 2.0.43
CVSS
8.8High
Weakness type
CWE-269 · Improper Privilege Management
CVE
CVE-2026-85659
View all PilotPress vulnerabilities

At a glance

CVE-2026-85659 is a high-severity Improper Privilege Management vulnerability in the PilotPress WordPress plugin, affecting versions <= 2.0.43. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account at Subscriber level or above. The issue is fixed in version 2.0.44; sites on affected versions should update now. Disclosed October 2026, reported by Supakiad S. (m3ez).

Vulnerability Overview

The PilotPress plugin for WordPress is vulnerable to Privilege Escalation via Account Takeover in all versions up to, and including, 2.0.43. The vulnerability exists because the `update_cc_details()` AJAX handler forwards an attacker-supplied `username` parameter to ONTRAPORT via `api_call('update_cc_details', ...)` before performing the local `username_exists()` collision check, and aborts without rolling back the remote rename when a collision is detected — leaving the remote ONTRAPORT contact renamed to an existing WordPress Administrator's login. On a subsequent login attempt, `user_login()` (hooked to `wp_authenticate`) authenticates against ONTRAPORT using the renamed login and the attacker's own password, resolves the local WordPress user row via `get_user_by('login', $username)` — which now selects the real Administrator's row — and calls `wp_set_password()` against that Administrator's user ID; because the `user_level != 10` guard only suppresses PilotPress's own cookie issuance rather than returning a `WP_Error` to core, WordPress proceeds to validate the newly-synchronized password and issues a full Administrator authentication cookie to the attacker. This makes it possible for authenticated attackers with Subscriber-level access and above — specifically any PilotPress member holding a valid ONTRAPORT contact and the Customer Center nonce — to fully take over an Administrator account.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-269: Improper Privilege Management

PilotPress <= 2.0.43 carries this weakness at update_cc_details, and reaching it takes an account at Subscriber level or above. Improper privilege management means the code lets an account end up with capabilities its role should not have.

It converts a low-privileged account into an administrative one, which makes every other restriction on the site irrelevant. For PilotPress the fix is 2.0.44: builds <= 2.0.43 are affected, anything from 2.0.44 onward is not.

Remediation

Update to version 2.0.44, or a newer patched version

How does WordSec protect against this?

Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: PilotPress 2.0.44 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C