Plugin User Verification by PickPlugins dla WordPress zawiera krytyczną podatność typu authentication bypass, umożliwiającą nieuwierzytelnionym atakującym zalogowanie się jako dowolny użytkownik — w tym administrator. Wynika ona z błędnego użycia luźnego operatora porównania PHP podczas walidacji kodów OTP.
▸ Pokaż oryginał (EN)
The User Verification by PickPlugins plugin for WordPress is vulnerable to authentication bypass in all versions up to, and including, 2.0.46. This is due to the use of a loose PHP comparison operator to validate OTP codes in the "user_verification_form_wrap_process_otpLogin" function. This makes it possible for unauthenticated attackers to log in as any user with a verified email address, such as an administrator, by submitting a "true" OTP value.
Funkcja 'user_verification_form_wrap_process_otpLogin' używa luźnego operatora porównania PHP (==) zamiast ścisłego (===) do sprawdzania poprawności jednorazowego kodu OTP. Mechanizm luźnego porównania w PHP powoduje, że wartość tekstowa 'true' jest uznawana za równą dowolnemu niezerowemu kodowi OTP. Atakujący bez żadnego uwierzytelnienia może przesłać wartość 'true' jako kod OTP, co pozwala mu ominąć mechanizm weryfikacji i zalogować się jako dowolny użytkownik posiadający zweryfikowany adres e-mail.
Atakujący może uzyskać pełny dostęp do konta dowolnego użytkownika, w tym administratora WordPress, co może prowadzić do przejęcia kontroli nad całą witryną, ujawnienia danych, instalacji złośliwego oprogramowania lub całkowitego zniszczenia zawartości serwisu.
Należy zaktualizować plugin User Verification by PickPlugins do wersji wyższej niż 2.0.46. Poprawka dostępna jest w changeset 3519113 w repozytorium WordPress. Zaleca się natychmiastową aktualizację przez panel administracyjny WordPress lub ręczne zastosowanie patcha ze źródła wskazanego w referencjach.
Plugin User Verification by PickPlugins dla WordPress — wszystkie wersje do 2.0.46 włącznie.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H