🔍 CVE-2026-89426

8.8
CVSS Score
HIGH
2026-09-25
2026-09-25 14:17
✅ 완료

🇰🇷 한글 설명

WordPress용 Knit Pay 플러그인 9.6.1.0 이하 버전에서 권한 상승 취약점이 발견되었습니다. 공격자가 Gravity Forms 입력 필드를 조작하여 `maybe_update_user_role()` 함수를 통해 자신의 권한을 관리자(Administrator)로 격상시킬 수 있습니다. 특히 결제 금액을 0원으로 설정하여 인증 과정을 우회하고 권한을 탈취하는 것이 가능합니다.

💡 쉬운 설명

로그인 권한이 있는 사용자가 결제 양식을 조작하여 웹사이트의 최고 관리자 권한을 훔칠 수 있는 보안 결함입니다. 결제 없이도 시스템이 사용자의 등급을 마음대로 바꿀 수 있는 상태입니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more plugin for WordPress (v9.6.1.0 및 그 이하 모든 버전)

⚔️ 공격 벡터

인증된 사용자가 Gravity Forms 제출 시 hidden role 필드 값을 조작하여 관리자 권한을 획득하는 방식

🛡️ 대응 방법

플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.

🔧 검증 코드

출력된 결과에서 Knit Pay 플러그인의 버전이 9.6.1.0 이하인지 확인하십시오.

Shell / Script
wp plugin list --status=active | grep -i 'knit-pay'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

WordPress