Katalog CVE

CVE-2026-89426

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.48%

Percentyl 39 - wyżej niż 39% wszystkich znanych CVE

Streszczenie

Wtyczka Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more dla WordPressa (wersje do 9.6.1.0 włącznie) jest podatna na eskalację uprawnień. Funkcja maybe_update_user_role() odczytuje docelową rolę bezpośrednio z pola formularza Gravity Forms kontrolowanego przez atakującego i przekazuje ją do WP_User::set_role() bez walidacji względem listy dozwolonych ról. Uwierzytelniony atakujący z uprawnieniami subskrybenta może podnieść swoje uprawnienia do administratora, manipulując ukrytym polem roli podczas przesyłania formularza. Wykorzystanie ułatwia fakt, że zamówienia o wartości 0 USD są oznaczane jako SUCCESS bez rzeczywistej płatności, a gdy nie można rozwiązać użytkownika rejestracji GF, przypisanie roli spada na $lead['created_by'] – identyfikator aktualnie uwierzytelnionego użytkownika.

Ocena ryzyka

Atakujący może uzyskać pełną kontrolę administracyjną nad witryną WordPress, co prowadzi do całkowitego przejęcia serwisu. Wymaga to jedynie konta subskrybenta i dostępu do formularza.

Rekomendacja

Zaktualizuj wtyczkę do wersji nowszej niż 9.6.1.0, jeśli jest dostępna. W przeciwnym razie rozważ wyłączenie wtyczki lub ograniczenie możliwości przesyłania formularzy przez użytkowników o niskich uprawnieniach.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS