CVE Catalog

CVE-2026-89426

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.48%

39th percentile - higher than 39% of all known CVEs

Summary

The Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more plugin for WordPress (versions up to and including 9.6.1.0) is vulnerable to privilege escalation. The maybe_update_user_role() function reads the target role directly from an attacker-controlled Gravity Forms entry field and passes it to WP_User::set_role() without validating against an allowlist of permitted roles. An authenticated attacker with Subscriber-level access can elevate privileges to administrator by tampering with the hidden role field at form submission. Exploitation is enabled by $0 orders being synchronously marked as SUCCESS without 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.

Risk Assessment

An attacker can gain full administrative control over the WordPress site, leading to complete site takeover. This requires only a subscriber-level account and access to the form.

Recommendation

Update the plugin to a version newer than 9.6.1.0 if available. Otherwise, consider disabling the plugin or restricting form submissions by low-privilege users.

Related vulnerabilities

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS