Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or register Subscriber-level WordPress account
-
DeliveryIdentify Gravity Forms payment form with Update User Role feed enabled
-
ExploitCraft form submission with role field set to 'administrator'
-
ExecutionSubmit POST to trigger maybe_update_user_role()
-
PersistWP_User::set_role() applies administrator role without validation
-
ImpactAttacker achieves full WordPress Administrator access
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 | Requires an authenticated WordPress account at Subscriber privilege level or above - unauthenticated exploitation is not possible given PR:L in the CVSS vector. The critical enabling condition is that a site administrator must have previously configured at least one Pronamic Pay payment feed within Gravity Forms with the 'Update User Role' option explicitly enabled AND mapped to a form field that is visible and submittable by non-admin users. This is a non-default, intentional configuration choice. Without this specific Gravity Forms feed configuration, the vulnerable code path ( |
| Impact | The vendor-assigned CVSS 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) is broadly accurate: the attack is network-delivered via a standard form POST, requires only subscriber-level authentication, no user interaction, and yields full C/I/A impact through admin account takeover. The primary risk-reducing factor not fully captured by CVSS is the non-default deployment precondition: the 'Update User Role' Gravity Forms feed option must be enabled and mapped to a user-controlled field by an administrator. Sites that have never configured this feature are not exploitable. This distinguishes real-world exposure from the theoretical maximum implied by CVSS. No EPSS score or KEV listing was provided, meaning exploitation probability from probabilistic models is unknown and no confirmed in-the-wild abuse has been reported. The patch in 10.2.0 is confirmed by the SVN changeset reference. Overall priority should be HIGH for any site using the Pronamic Pay Gravity Forms integration with the Update User Role feed option enabled, and LOW-to-MEDIUM for all others pending configuration audit. |
| Exploit ScenarioDerived | An attacker registers or holds a Subscriber-level account on a WordPress site that has a Pronamic Pay payment feed configured in Gravity Forms with the Update User Role option enabled and mapped to a form field. The attacker submits the payment form with the role field value set to 'administrator' - either by intercepting the request via a proxy or constructing a direct POST - causing |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 01, 2026
Privilege escalation in the Pronamic Pay WordPress plugin (all versions ≤10.1.0) enables authenticated Subscriber-level users to self-escalate to Administrator by submitting a tampered Gravity Forms field value that is passed unvalidated into WordPress's WP_User::set_role(). The flaw is in maybe_update_user_role() within the plugin's Gravity Forms extension, which performs no allowlist check, capability comparison, or permission verification before applying the attacker-supplied role string. Exploitation is gated on a specific administrator-configured Gravity Forms payment feed setup, but once that configuration exists, a low-privilege user can achieve full WordPress site compromise. No public exploit or CISA KEV listing confirmed at time of analysis; a patch was released in version 10.2.0.
RemediationAI
The primary fix is to update the Pronamic Pay plugin to version 10.2.0 or later, which contains the validated changeset at https://plugins.trac.wordpress.org/changeset?old_path=%2Fpronamic-ideal/tags/10.1.0&new_path=%2Fpronamic-ideal/tags/10.2.0. WordPress site administrators should apply this update via the WordPress admin dashboard or WP-CLI (wp plugin update pronamic-ideal). As an immediate workaround prior to patching, administrators should audit all active Gravity Forms payment feeds configured through Pronamic Pay and disable the 'Update User Role' option on any feed where it is enabled - this eliminates the exploitable code path entirely, though it will also disable the legitimate role-update functionality for those feeds. Sites that have not configured Gravity Forms with the Update User Role feature in Pronamic Pay feeds are not at risk from this specific vulnerability and do not require emergency action beyond the standard plugin update.
Affected VersionsENISA
Affected Packages
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 vulnerability resides in the Pronamic Pay plugin's Gravity Forms integration (packages/wp-pay-extensions/gravityforms/src/Extension.php, lines 144, 376, 379, 988 in the 10.1.0 tag). The maybe_update_user_role() function retrieves a role name from a Gravity Forms lead entry using $lead[$feed->user_role_field_id] - a value sourced directly from an authenticated user's form submission - and passes it without validation to WordPress's native WP_User::set_role(). WordPress's set_role() is a privileged internal function that accepts any valid role string and applies it immediately; it is the responsibility of the calling code to enforce role restrictions. CWE-269 (Improper Privilege Management) precisely describes this root cause: the plugin grants elevated privileges based on attacker-controlled input without verifying that the requested role is within the set of roles the requester is permitted to assign, nor that it does not exceed the requester's own privilege level. The affected plugin is also tracked under the pronamic-ideal slug on the WordPress plugin repository.
Know when WordPress 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network form submission with subscriber auth (PR:L); AC:L because once the required feed configuration exists, exploitation requires no special timing or conditions; full C/I/A impact from admin takeover.
Primary rating from Vendor (wordfence).
CVSS VectorVendor: wordfence
DescriptionCVE.org
The Pronamic Pay plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 10.1.0 This is due to the maybe_update_user_role() function passing an attacker-controlled Gravity Forms field value ($lead[$feed->user_role_field_id]) directly into WP_User::set_role() without any allowlist validation, capability comparison, or permission check to constrain which roles can be assigned. This makes it possible for authenticated attackers, with Subscriber-level access and above, to escalate their own WordPress account to Administrator by tampering with the role field value in a form submission. Exploitation requires that an administrator has already configured a Pronamic Pay payment feed in Gravity Forms with the Update User Role option enabled and mapped to a form field; once that configuration is in place, no further preconditions exist to prevent an authenticated attacker from exploiting this vulnerability.
Executive ViewAI
Pronamic Pay WordPress plugin (versions ≤10.1.0) enables anyone with even basic user account access to grant themselves full administrative control by exploiting insufficient input validation in its Gravity Forms payment processing feature. This transforms low-privilege accounts into super-users capable of modifying sensitive payment configurations, accessing customer payment data, and altering website content. Organizations running this plugin version with active Gravity Forms payment feeds face immediate exposure to account compromise and data breach.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
EUVD-2026-51795
GHSA-72h4-7f42-rjh6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB