Skip to main content

Pronamic Pay EUVDEUVD-2026-51795

| CVE-2026-16635 HIGH
Improper Privilege Management (CWE-269)
2026-08-01 security@wordfence.com GHSA-72h4-7f42-rjh6
8.8
CVSS 3.1 · Vendor: wordfence
View

Attack ChainAIDerived

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

  1. Access
    Obtain or register Subscriber-level WordPress account
  2. Delivery
    Identify Gravity Forms payment form with Update User Role feed enabled
  3. Exploit
    Craft form submission with role field set to 'administrator'
  4. Execution
    Submit POST to trigger maybe_update_user_role()
  5. Persist
    WP_User::set_role() applies administrator role without validation
  6. Impact
    Attacker 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 (maybe_update_user_role()) is never triggered and the site is not exploitable regardless of plugin version. Exploitation is limited to WordPress installations running the Pronamic Pay plugin with an active Gravity Forms license and the described feed configuration in place.

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 maybe_update_user_role() to call WP_User::set_role('administrator') on their own account. The attacker's account is immediately promoted to Administrator, granting full control over the WordPress installation including the ability to install backdoors, exfiltrate data, or pivot to the underlying hosting environment. No public proof-of-concept code has been confirmed, but the exploit logic is trivially derivable from the disclosed source code references.

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

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

Alert me

AnalysisAIv1 – 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

Pronamic Pay 0 ≤10.1.0

Affected Packages

euvd pronamic_pay 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 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

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

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.

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:P/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 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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
popular WordPress payment plugin, primarily Dutch/European market
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.3%
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.

CVE-2016-10033 CRITICAL POC
9.8 Dec 30

The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2026-63030 CRITICAL POC
9.8 Jul 17

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

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