{"id":"CVE-2026-89426","published":"2026-09-25T08:16:40.940","lastModified":"2026-09-25T14:17:21.750","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.","cvssScore":8.8,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwes":["CWE-269"],"vendors":[],"products":[],"references":[{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.4.0.1/packages/wp-pay-extensions/gravityforms/src/Extension.php#L381","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.4.0.1/packages/wp-pay-extensions/gravityforms/src/Extension.php#L384","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.4.0.1/packages/wp-pay-extensions/gravityforms/src/Extension.php#L989","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.4.0.1/packages/wp-pay-extensions/gravityforms/src/Processor.php#L493","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.6.1.0/packages/wp-pay-extensions/gravityforms/src/Extension.php#L381","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.6.1.0/packages/wp-pay-extensions/gravityforms/src/Extension.php#L384","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.6.1.0/packages/wp-pay-extensions/gravityforms/src/Extension.php#L989","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/knit-pay/tags/9.6.1.0/packages/wp-pay-extensions/gravityforms/src/Processor.php#L493","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&old=3706862%40knit-pay&new=3706862%40knit-pay","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/ee5df686-7bf8-42cc-9356-92570bd02355?source=cve","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":{"summary":"The Knit Pay plugin for WordPress allows authenticated attackers with Subscriber-level access or higher to escalate their privileges to administrator by tampering with the role field in Gravity Forms entries.","exploitability":"Exploitation is relatively easy for authenticated users with Subscriber-level access or higher, as it requires only modifying the role field during form submission.","blast_radius":"If exploited, the attacker could gain full administrative control over the WordPress site, leading to potential data breaches and unauthorized access to sensitive information.","remediation":"Upgrade to Knit Pay version 9.6.2 or later.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["auth-bypass","web","wp-plugin"],"model":"qwen2.5:7b-instruct","analyzedAt":"2026-09-29T09:04:31.109Z"}}