Wtyczka WooCommerce - Social Login dla WordPress w wersjach do 2.8.7 włącznie zawiera krytyczną podatność typu Authentication Bypass, pozwalającą nieuwierzytelnionemu atakującemu zalogować się jako dowolny użytkownik WordPress, w tym administrator. Podatność wynika z braku weryfikacji podpisu JWT tokena Apple oraz publicznego ujawnienia nonce wymaganego do inicjowania procesu logowania.
▸ Pokaż oryginał (EN)
The WooCommerce - Social Login plugin for WordPress is vulnerable to Authentication Bypass in all versions up to and including 2.8.7. This is due to the plugin's Apple login handler accepting the Apple id_token and decoding only its base64 payload without verifying the JWT signature against Apple's public keys or validating the issuer, audience, or expiry claims, combined with the security nonce required to invoke the login flow being publicly exposed to unauthenticated users via a localized JavaScript object on the login page. This makes it possible for unauthenticated attackers to log in as any existing WordPress user — including administrators — by supplying a forged id_token whose payload contains the target user's email address, as that email is used without any role exclusion to resolve a WordPress account and immediately issue an authenticated session for it.
Mechanizm obsługi logowania przez Apple akceptuje token id_token i dekoduje jedynie jego payload zakodowany w base64, nie weryfikując podpisu JWT względem kluczy publicznych Apple ani nie walidując pól issuer, audience ani expiry. Dodatkowo, nonce zabezpieczający wywołanie procesu logowania jest publicznie dostępny dla nieuwierzytelnionych użytkowników poprzez zlokalizowany obiekt JavaScript na stronie logowania. Atakujący może zatem spreparować dowolny id_token zawierający w payloadzie adres e-mail docelowego użytkownika WordPress. Wtyczka rozpoznaje konto na podstawie tego adresu e-mail bez żadnego wykluczenia ról i natychmiast wydaje uwierzytelnioną sesję dla znalezionego konta.
Nieuwierzytelniony atakujący może przejąć kontrolę nad dowolnym kontem WordPress, w tym kontem administratora, co prowadzi do pełnego naruszenia poufności, integralności i dostępności witryny.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację wtyczki do wersji wyższej niż 2.8.7 niezwłocznie po jej udostępnieniu, a do czasu wydania poprawki rozważyć wyłączenie funkcji logowania przez Apple lub dezaktywację wtyczki.
Wtyczka WooCommerce - Social Login dla WordPress we wszystkich wersjach do 2.8.7 włącznie.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H