Description
The Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 9.6.1.0. This is due to the `maybe_update_user_role()` function reading the target role directly from an attacker-controlled Gravity Forms entry field — configured via the feed's `user_role_field_id` — and passing it to `WP_User::set_role()` without validating the supplied value against an allowlist of permitted roles. This makes it possible for authenticated attackers, with Subscriber-level access and above, to elevate their privileges to administrator by tampering with the hidden role field value at form submission time. Exploitation is further enabled by the fact that $0 orders are synchronously marked as SUCCESS during form submission without requiring a real payment, and when no GF User Registration user can be resolved, the role assignment target falls back to `$lead['created_by']` — the currently authenticated submitter's own user ID — making any authenticated form submitter an eligible exploitation target.
Published: 2026-09-25
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises when the plugin’s function reads a role value from an attacker‑controlled Gravity Forms field and passes it directly to WordPress without validation. An authenticated subscriber or higher can modify the hidden role field during form submission, causing the system to assign the attacker the Administrator role. This allows the attacker to gain unrestricted access to the WordPress site, compromising confidentiality, integrity, and availability of all site data.

Affected Systems

All WordPress sites running Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more plugin versions up through 9.6.1.0 are vulnerable. The issue specifically affects installations that use Gravity Forms feeds configured with a user_role_field_id, regardless of the payment gateway involved.

Risk and Exploitability

The CVSS score of 8.8 signals a high‑severity flaw, and the exploitability is high because the attacker only needs a legitimate, authenticated Subscriber account to alter the hidden role field. EPSS data is not available, and the vulnerability is not currently listed in the CISA KEV catalog, but the lack of an allowlist for role values makes exploitation straightforward. If a site allows $0 orders to be processed as successful, the process chooses the current submitter’s user ID as the target, ensuring that any authenticated form submitter can attempt the attack.

Generated by OpenCVE AI on September 25, 2026 at 08:42 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Knit Pay plugin to the latest version, which removes the unvalidated role update logic.
  • Configure Gravity Forms or the plugin to disable or remove the user_role_field_id setting, ensuring that form submissions cannot specify a target role.
  • Restrict form submission capabilities to users who do not have administrator privileges and monitor form configuration changes for any future attempts to reinstate the vulnerable field.

Generated by OpenCVE AI on September 25, 2026 at 08:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 25 Sep 2026 07:45:00 +0000

Type Values Removed Values Added
Description The Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 9.6.1.0. This is due to the `maybe_update_user_role()` function reading the target role directly from an attacker-controlled Gravity Forms entry field — configured via the feed's `user_role_field_id` — and passing it to `WP_User::set_role()` without validating the supplied value against an allowlist of permitted roles. This makes it possible for authenticated attackers, with Subscriber-level access and above, to elevate their privileges to administrator by tampering with the hidden role field value at form submission time. Exploitation is further enabled by the fact that $0 orders are synchronously marked as SUCCESS during form submission without requiring a real payment, and when no GF User Registration user can be resolved, the role assignment target falls back to `$lead['created_by']` — the currently authenticated submitter's own user ID — making any authenticated form submitter an eligible exploitation target.
Title Knit Pay <= 9.6.1.0 - Authenticated (Subscriber+) Privilege Escalation via Gravity Forms Role Field
Weaknesses CWE-269
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-09-25T13:00:13.780Z

Reserved: 2026-09-11T18:34:23.074Z

Link: CVE-2026-89426

cve-icon Vulnrichment

Updated: 2026-09-25T12:55:42.752Z

cve-icon NVD

Status : Deferred

Published: 2026-09-25T08:16:40.940

Modified: 2026-09-25T14:17:21.750

Link: CVE-2026-89426

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T08:45:17Z

Weaknesses
  • CWE-269

    Improper Privilege Management