Skip to main content

PilotPress CVE-2026-85659

| EUVDEUVD-2026-102680 HIGH
Improper Privilege Management (CWE-269)
2026-10-16 Wordfence GHSA-ph8g-mcqh-5p98
8.8
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Recon
    Authenticate as PilotPress subscriber
  2. Delivery
    Call update_cc_details() with admin username
  3. Exploit
    Remote ONTRAPORT contact renamed to admin login
  4. Install
    Collision check aborts without rollback
  5. C2
    Re-login triggers wp_authenticate hook
  6. Execute
    wp_set_password() overwrites admin credentials
  7. Impact
    Receive full Administrator session cookie

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated attacker holding at least a Subscriber-level PilotPress membership that maps to a valid ONTRAPORT contact, plus possession of the Customer Center nonce needed to call the update_cc_details() AJAX handler. The affected PilotPress plugin (version ≤2.0.43) must be active and configured for ONTRAPORT integration with the Customer Center feature in use. The attacker must know a target Administrator's exact WordPress login to supply as the username parameter. Limiting factors: this is not a pre-auth flaw - PR:L means a pre-existing membership account is mandatory, which constrains the attacker pool to sites that allow such registrations; UI:N means no victim interaction is needed, and the flaw triggers against the plugin's default handling once membership is obtained.

Impact

This is a genuine high-priority vulnerability, not a high-CVSS-but-low-impact artifact. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 8.8) is internally consistent with the description: a network-reachable AJAX handler, low attacker privileges (any Subscriber-level PilotPress member), no user interaction, and full compromise of an Administrator account yielding complete confidentiality/integrity/availability impact. The low-complexity rating is credible because the attack is a deterministic logic flaw (missing rollback plus an authentication guard that suppresses cookies rather than returning WP_Error) rather than a race or memory-corruption requiring special conditions. Counterbalancing signals: no EPSS score was provided, the CVE is NOT in CISA KEV, and no public proof-of-concept is referenced, so there is no evidence of active exploitation or weaponization yet. The practical risk is therefore 'realistic and serious but not yet observed in the wild' - the technical path to full admin takeover is clearly documented by Wordfence and the vulnerable source lines are publicly linked, which lowers the barrier to developing an exploit even though none is confirmed public. Prioritize patching, but note the exploitation requires a pre-existing authenticated PilotPress membership, which narrows the attacker population to users who already have a valid ONTRAPORT contact on the target site.

Exploit ScenarioDerived

An attacker registers or already holds a low-privilege PilotPress membership (Subscriber-level) with a valid ONTRAPORT contact and obtains the Customer Center nonce. They invoke the update_cc_details() AJAX handler supplying an existing WordPress Administrator's login as the username, which renames their remote ONTRAPORT contact to that admin login even though the local collision check aborts without rolling back. On their next login using that admin username and their own password, PilotPress's wp_authenticate hook resolves the Administrator's user row, resets that account's password, and WordPress issues the attacker a full Administrator session cookie. No public exploit code is referenced, but the vulnerable source lines are publicly linked.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Authenticated attackers with Subscriber-level or higher PilotPress membership on WordPress sites can escalate to full Administrator privileges by exploiting a flawed ONTRAPORT synchronization routine in PilotPress versions up to and including 2.0.43. The defect allows an attacker to rename a remote ONTRAPORT contact to an existing Administrator's WordPress login, then leverage the plugin's authentication hook to cause WordPress core to issue an Administrator authentication cookie. This is a genuine high-priority vulnerability (CVSS 8.8), requiring a valid ONTRAPORT contact and the Customer Center nonce, but no victim interaction. No public exploit code was identified at time of analysis.

RemediationAI

Apply the upstream fix by updating the PilotPress plugin to the version that includes changeset 3737004 from the WordPress plugin repository; the exact patched release version is not specified in the provided data, so verify the latest available version. If immediate patching is not possible, disable the Customer Center feature in PilotPress settings to remove the vulnerable update_cc_details() AJAX handler, though this will disable member self-service functionality. Alternatively, remove the AJAX action programmatically via a small mu-plugin that calls remove_action('wp_ajax_update_cc_details', ...) and remove_action('wp_ajax_nopriv_update_cc_details', ...) if the handler is registered for unauthenticated users. As a compensating control, restrict membership registration to trusted users or temporarily disable new user registrations to reduce the attacker pool, but note that existing Subscriber-level accounts remain a risk. Monitor ONTRAPORT contact rename events and WordPress password changes for Administrator accounts as detection measures. Consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/ceee48dd-72a7-49c3-90d5-7af1a30f9ecb?source=cve) and the Trac changeset (https://plugins.trac.wordpress.org/changeset/3737004) for further guidance.

Affected VersionsENISA

PilotPress 0 ≤2.0.43

Affected Packages

euvd pilotpress 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 PilotPress plugin bridges WordPress with the ONTRAPORT CRM/marketing platform. The vulnerability resides in the update_cc_details() AJAX handler, which forwards an attacker-supplied 'username' parameter to the ONTRAPORT API via api_call('update_cc_details', ...) before performing a local username_exists() check. When a collision is detected, the handler aborts but does not roll back the remote rename, leaving the ONTRAPORT contact named after an existing WordPress Administrator. Subsequently, the user_login() function hooked to wp_authenticate authenticates the attacker against ONTRAPORT using the renamed login and the attacker's own password. It then resolves the local WordPress user row via get_user_by('login', $username), which now returns the real Administrator's row, and calls wp_set_password() against that Administrator's user ID. The user_level != 10 guard only suppresses PilotPress's own cookie issuance rather than returning a WP_Error to core, so WordPress proceeds to validate the newly-synchronized password and issues a full Administrator authentication cookie to the attacker. The root cause is CWE-269 (Improper Privilege Management), with a failure to enforce proper privilege boundaries during remote-to-local identity synchronization.

Know when Pilotpress 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 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Remote AJAX handler (AV:N), deterministic logic flaw (AC:L), requires an existing low-privilege member so PR:L not PR:N, no interaction (UI:N), full admin takeover gives C/I/A:H.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A high-severity flaw in the PilotPress WordPress plugin (versions up to and including 2.0.43) can allow a low-privileged user to gain full Administrator control of an affected website. For organizations running WordPress with PilotPress, this could lead to complete site compromise, unauthorized access to sensitive data, and abuse of administrative functions. Leadership should prioritize remediation because affected sites may be used to exfiltrate customer information, inject malicious content, or pivot into connected systems; no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include deactivating or removing the PilotPress plugin, disabling ONTRAPORT synchronization and Customer Center nonce functionality, restricting Subscriber-level account provisioning, auditing and hardening all Administrator accounts, and deploying WAF rules to detect or block privilege escalation attempts.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
niche WordPress membership plugin tied to ONTRAPORT CRM integrations
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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