Katalog CVE

CVE-2026-14281

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Wtyczka Automation Web Platform – Notifications and OTP for WooCommerce, Advanced Country Code dla WordPressa (do wersji 4.8.6 włącznie) jest podatna na eskalację uprawnień z powodu braku egzekwowania uprawnień na publicznie dostępnej trasie REST `POST /wp-json/wawp/v1/signup/<op>` oraz braku listy dozwolonych kluczy w funkcji `finish_registration_logic`. Parametr `wawp_custom_fields` kontrolowany przez atakującego jest kopiowany bezpośrednio do `update_user_meta()`, co pozwala na ustawienie kluczy takich jak `wp_capabilities` i `wp_user_level`. Umożliwia to nieuwierzytelnionym atakującym rejestrację konta z rolą administratora i uzyskanie pełnego dostępu administracyjnego. Gdy weryfikacja OTP jest włączona, token sesji OTP jest zwracany w postaci jawnej w odpowiedzi HTTP, a handler `handle_magic_link_request()` oznacza token jako zweryfikowany na każde nieuwierzytelnione żądanie GET zawierające go, bez sprawdzania kodu OTP, co czyni krok OTP trywialnie pomijalnym.

Ocena ryzyka

Atakujący może uzyskać pełną kontrolę administracyjną nad witryną WordPress, co prowadzi do całkowitego przejęcia serwisu, kradzieży danych i możliwości instalacji złośliwego oprogramowania.

Rekomendacja

Natychmiast zaktualizować wtyczkę do wersji nowszej niż 4.8.6. Jeśli aktualizacja nie jest możliwa, wyłączyć publiczną trasę REST `/wp-json/wawp/v1/signup/<op>` lub wdrożyć dodatkową weryfikację uprawnień i listę dozwolonych kluczy meta.

Inne podatności w Automation Web Platform – Notifications and OTP for WooCommerce, Advanced Country Code

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

The Automation Web Platform – Notifications and OTP for WooCommerce, Advanced Country Code plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.8.6. This is due to missing permission enforcement on the publicly accessible REST route `POST /wp-json/wawp/v1/signup/<op>` and the absence of a key allowlist in the `finish_registration_logic` function, which copies the attacker-controlled `wawp_custom_fields` parameter directly into `update_user_meta()` — allowing sensitive meta keys such as `wp_capabilities` and `wp_user_level` to be set by the caller. This makes it possible for unauthenticated attackers to register a new account with the administrator role and gain full administrative access to the site. When OTP verification is enabled at signup, the OTP session token (`otp_transient`) is returned in plaintext in the HTTP response body, and the `handle_magic_link_request()` handler marks that token as verified on any unauthenticated GET request containing it without ever checking the OTP code value — making the OTP step trivially bypassable with no inbox or SMS access required.

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