Privilege escalation in PilotPress lets members take over admin accounts
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269.
Summary
The PilotPress plugin for WordPress is affected through 2.0.43. The update_cc_details() AJAX handler renames the remote ONTRAPORT contact to an attacker-supplied login before checking for a local username collision, and it does not roll back that rename (CWE-269). An authenticated attacker with Subscriber-level access or higher can then log in and receive an Administrator authentication cookie, taking over an existing Administrator account.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for PilotPress.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-16 Threatist record created from CVE-2026-85659
- 2026-10-16 CISA SSVC decision points changed
- 2026-10-16 Priority changed: MEDIUM → LOW
- 2026-10-16 Priority changed: LOW → MEDIUM
- 2026-10-16 Alias added: GHSA-ph8g-mcqh-5p98
References
Other 6
- 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
More ONTRAPORT vulnerabilities
- TI-2017-14735 SQL injection in ONTRAPORT Membership Simplified CVSS 3.0CRITICAL 9.8
- TI-2017-14734 Vulnerability in wordpress plugin Membership Simplified v1.58, The code in… CVSS 3.0CRITICAL 9.8
- TI-2024-15565 WordPress PilotPress plugin <= 2.0.30 - Broken Access Control vulnerability CVSS 3.1HIGH 8.8
- TI-2025-36043 WordPress PilotPress Plugin <= 2.0.36 - Cross Site Scripting (XSS) Vulnerability CVSS 3.1MEDIUM 6.5
- TI-2025-36026 WordPress PilotPress Plugin <= 2.0.36 - Broken Access Control Vulnerability CVSS 3.1MEDIUM 4.3
Sources
- CVE-2026-85659 · CVE Program
- CVE-2026-85659 · NVD
- FIRST EPSS
- GHSA-ph8g-mcqh-5p98 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences