CVE-2026-85659
Description
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.
Affected products
1Patches
Vulnerability mechanics
References
6- plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.phpnvd
- plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.phpnvd
- plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.phpnvd
- plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.phpnvd
- plugins.trac.wordpress.org/changeset/3737004nvd
- www.wordfence.com/threat-intel/vulnerabilities/id/ceee48dd-72a7-49c3-90d5-7af1a30f9ecbnvd
News mentions
0No linked articles in our index yet.