Firma RIPS Technologies wykryła problem dotyczący WordPressa i wtyczki e-commerce WooCommerce stworzonej przez Automattic. Według oficjalnych statystyk rozwiązanie to pobrano ponad cztery miliony razy, a liczba aktywnych instalacji jest zbliżona.
Badacze wyjaśniają, że mamy tu do czynienia z dwoma problemami. Pierwszy polega na tym, że po zainstalowaniu wtyczki w WordPressie, który stosuje różne role użytkowników, nie tworzy ona własnego systemu uwierzytelniania, lecz korzysta z istniejącego systemu uprawnień CMS-a. W tym celu wtyczka tworzy nową rolę z nowymi funkcjami WordPressa, a następnie za pomocą własnych funkcji ogranicza jej interakcję z ustawieniami CMS-a i innymi użytkownikami.
Tak więc podczas instalacji WooCommerce tworzona jest nowa rola Shop Manager („menedżer sklepu”), która posiada uprawnienia edit_users. Pozwala ona użytkownikowi edytować publikacje, a także profile każdego innego użytkownika WordPressa, łącznie z administratorem.
Wygląda na to, że twórcy WooCommerce przewidzieli funkcję, która uniemożliwia użytkownikom z tą rolą ingerowanie w profile administratorów. Jednak z powodu błędu w działaniu systemu zarządzania uprawnieniami wtyczek, gdy WooCommerce zostaje dezaktywowany, funkcja ograniczająca „menedżerów sklepu” przestaje działać, a użytkownicy z tą rolą mogą swobodnie modyfikować konta innych użytkowników.
W związku z tym jedynym niezawodnym sposobem dezaktywacji wtyczki jest wyłączenie jej przez administratora i usunięcie wszystkich jej plików. I tu pojawia się drugi problem.
Rzecz w tym, że analitycy RIPS Technologies odkryli błąd związany z usuwaniem plików WooCommerce w wersji 3.4.5 i starszych. Okazało się, że użytkownicy z uprawnieniami Shop Manager mogą usunąć dowolny plik wtyczki, także te kluczowe dla jej działania. W rezultacie wtyczka przestaje działać w przewidywalny sposób, WordPress automatycznie ją dezaktywuje i sytuacja wraca do opisanej wyżej: użytkownik z rolą menedżera sklepu może edytować profile dowolnego użytkownika.
Badacze wyjaśniają, że w takiej sytuacji atakujący bez trudu przejmie konto administratora, a tym samym kontrolę nad całą witryną. Poniższy film ilustruje połączenie obu problemów w tym przypadku.
Eksperci podkreślają, że aby skutecznie wykorzystać ten mechanizm, atakujący musi mieć dostęp do konta z rolą menedżera sklepu. Jednak zdaniem badaczy jest to możliwe dzięki lukom XSS lub atakom phishingowym.
Twórcy WooCommerce już usunęli problem, publikując nową wersję wtyczki (3.4.6). Ponieważ automatyczna aktualizacja wtyczek nie jest w ogóle włączona, eksperci zalecają użytkownikom sprawdzenie dostępności aktualizacji i upewnienie się, że korzystają z najnowszych wersji WooCommerce.