{"id":"CVE-2026-85659","revision":"bc02468c693d46618075927739113862","records":[{"revision":"bc02468c693d46618075927739113862","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-85659","aliases":[],"title":"PilotPress <= 2.0.43 - Authenticated (Subscriber+) Privilege Escalation via Account Takeover via 'username' Parameter","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.","state":0,"publishedAt":"2026-10-16T05:30:27.472+00:00","modifiedAt":"2026-10-16T14:28:39.37+00:00","affected":[{"ecosystem":"Vendor product","name":"PilotPress","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"ontraport\",\n                    \"product\": \"PilotPress\",\n                    \"versions\": [\n                        {\n                            \"version\": \"0\",\n                            \"status\": \"affected\",\n                            \"lessThanOrEqual\": \"2.0.43\",\n                            \"versionType\": \"semver\"\n                        }\n                    ],\n                    \"defaultStatus\": \"unaffected\"\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":8.8,"severity":"HIGH"}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/ceee48dd-72a7-49c3-90d5-7af1a30f9ecb?source=cve","https://plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.php?rev=3642310#L2380","https://plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.php?rev=3642310#L1690","https://plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.php?rev=3642310#L1029","https://plugins.trac.wordpress.org/browser/pilotpress/tags/2.0.39/pilotpress.php?rev=3642310#L1099","https://plugins.trac.wordpress.org/changeset/3737004"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-85659","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-85659","identifiers":["CVE-2026-85659"]},"retained":false,"historicalAffected":[]}],"coverage":[]}