Wykryto krytyczne obejście uwierzytelniania (CVE-2026-8457) w wtyczce WooCommerce Social Login, które pozwala atakującym na przejęcie dowolnego konta WordPress – w tym kont administratorów. Luka posiada ocenę CVSS na poziomie 9.8, co oznacza najwyższy stopień zagrożenia, i może zostać wykorzystana bez hasła, kodu uwierzytelniającego (2FA) czy jakiejkolwiek interakcji użytkownika.
Dlaczego ta luka jest istotna dla programistów WordPress
WooCommerce Social Login, wydany przez WPWeb Elite, umożliwia sklepom internetowym oferowanie klientom logowania za pomocą Apple. Ponieważ wtyczka integruje się bezpośrednio z systemem użytkowników WordPress, naruszenie jej procesu uwierzytelniania może zagrozić całej witrynie. Atakujący, który sfałszuje id_token Apple, może przejąć istniejące konto, zyskując pełną kontrolę nad treścią strony, zamówieniami i danymi klientów.
Problem nie jest odosobnionym błędem; to trzecia poważna luka w uwierzytelnianiu wykryta w tej rodzinie wtyczek w ciągu ostatnich dwóch lat. Powtarzające się niepowodzenia w weryfikacji tokenów zewnętrznych dostawców sugerują systemowy problem w sposobie, w jaki kod traktuje zewnętrzne poświadczenia.
Jak działa obejście
- Obsługa tokenów Apple – Gdy odwiedzający kliknie „Sign in with Apple”, wtyczka otrzymuje
id_token, czyli JSON Web Token (JWT), który zawiera adres e-mail użytkownika oraz inne dane (claims). - Brak weryfikacji podpisu – Wtyczka dekoduje JWT, ale nigdy nie sprawdza podpisu kryptograficznego, który potwierdzałby, że token został wystawiony przez Apple.
- Brak sprawdzenia wystawcy, odbiorcy lub daty wygaśnięcia – Wtyczka pomija również walidację wystawcy tokena (kto go stworzył), odbiorcy (dla kogo jest przeznaczony) oraz czasu wygaśnięcia.
Z powodu tych zaniedbań atakujący może stworzyć fałszywy token JWT, który przypisuje mu dowolny wybrany adres e-mail. Wtyczka uznaje zdekodowany adres e-mail za autentyczny i tworzy lub loguje odpowiadającego mu użytkownika WordPress bez żadnego dowodu tożsamości.
Drugi problem potęguje ryzyko: wtyczka udostępnia zabezpieczający nonce – jednorazową wartość służącą do zapobiegania atakom typu replay – niezalogowanym użytkownikom. Dzięki temu atakujący może z łatwością zautomatyzować cały proces za pomocą skryptu, nie musząc wyzwalać legalnego procesu logowania.
Kto jest zagrożony
- Właściciele stron korzystających z WooCommerce – Każda witryna, na której zainstalowano i włączono wtyczkę do logowania przez Apple, jest podatna na atak.
- Programiści i agencje – Osoby zarządzające wieloma stronami klientów mogą mieć narażane dziesiątki instalacji.
- Klienci – Jeśli atakujący uzyska dostęp administracyjny, może odczytywać, modyfikować lub usuwać dane zamówień, co może prowadzić do wycieku danych osobowych i płatniczych.
Natychmiastowe kroki w celu ochrony witryny
- Aktualizacja do wersji 2.8.8 – Poprawka została uwzględniona w najnowszym wydaniu dostępnym w CodeCanyon. Wtyczki premium nie otrzymują automatycznych aktualizacji z repozytorium WordPress.org, więc należy ręcznie pobrać i zainstalować nowy pakiet.
- Audyt kont użytkowników – Przeszukaj tabelę użytkowników WordPress w poszukiwaniu kont utworzonych po 1 sierpnia 2026 r., szczególnie tych z uprawnieniami administratora.
- Przegląd logów serwera – Szukaj nietypowych żądań do punktów końcowych (endpoints) logowania społecznościowego wtyczki, takich jak wielokrotne zapytania z tego samego adresu IP lub wywołania zawierające błędnie sformatowane tokeny JWT.
- Tymczasowe rozwiązanie – Jeśli nie możesz od razu zastosować aktualizacji, wyłącz logowanie przez Apple w ustawieniach wtyczki. Usunie to najbardziej podatny wektor ataku do czasu zaplanowania aktualizacji.
Czego mogą nauczyć się programiści
- Zawsze weryfikuj podpisy JWT – Pobierz zestaw kluczy JSON Web Key Set (JWKS) dostawcy i sprawdź kryptograficzny dowód tokena, zanim zaufasz jakimkolwiek danym (claims).
- Sprawdzaj wystawcę, odbiorcę i datę wygaśnięcia – Pola te potwierdzają, że token jest przeznaczony dla Twojej witryny i jest nadal ważny.
- Nigdy nie udostępniaj publicznie nonce'ów uwierzytelniających – Nonce'y powinny być generowane po stronie serwera i przesyłane wyłącznie do uwierzytelnionych sesji.
- Ogranicz przypisywanie ról – Procesy logowania społecznościowego nigdy nie powinny nadawać ról o wysokich uprawnieniach (takich jak administrator) bez dodatkowych kroków weryfikacyjnych.
Reakcja dostawcy
WPWeb Elite wydało wersję z poprawką.
Na co zwrócić uwagę w przyszłości
Podsumowanie: Brak jednej weryfikacji podpisu zmienił wygodny przycisk „Sign in with Apple” w tylną furtkę (backdoor) umożliwiającą całkowite przejęcie witryny. Aktualizacja wtyczki, wyłączenie podatnej metody logowania i uszczelnienie weryfikacji tokenów to jedyne niezawodne metody obrony, dopóki poprawka nie zostanie powszechnie wdrożona.
