Blog

WordPress – luka w pluginie Demo Importer

Jedna z popularnych wtyczek Demo Importer posiada lukę dzięki której nieautoryzowany użytkownik może usunąć zawartość strony. Plugin Demo Importer jest częścią motywów WordPressa publikowanych przez twórcę ThemeGrill. Jak nazwa wskazuje, importuje on zawartość demo, widżety i ustawienia motywów. Importując te dane za pomocą jednego kliknięcia, ułatwia użytkownikom import zawartości demo, dając im w pełni skonfigurowane witryny wypełnione przykładowymi postami. Niestety umożliwia on również nieautoryzowanym użytkownikom wyczyszczenie całej bazy danych witryny WordPressa do jej stanu domyślnego, a następnie zalogowanie się jako administrator. Więcej na ten temat można przeczytać na stronie dostawcy WebARX zajmującego się bezpieczeństwem aplikacji internetowych tutaj.

Według firmy zajmującej się bezpieczeństwem, luka istnieje od około trzech lat w wersjach od 1.3.4 do 1.6.1 i dotyczy witryn korzystających z wtyczki, w której również zainstalowano i aktywowano motyw od ThemeGrill. Luka bezpieczeństwa tkwi w błędzie uwierzytelnienia wprowadzonym przez class-demo-importer.php, który ładuje funkcje importera wersji demo. Ten plik dodaje integruje się z kodem funkcji admin_init, czyli kodem działającym na dowolnej stronie administratora.

Kod dodany do admin_init umożliwia usunięcie zawartości bazy danych. Wszystko, co jest potrzebne do uruchomienia czyszczenia, to dołączenie parametru do_reset_wordpress do adresu URL na dowolnej stronie administracyjnych. Jedną ze stron administracyjnych jest /wp-admin/admin-ajax.php, która nie wymaga uwierzytelnienia użytkownika podczas ładowania. Załadowanie strony ze problematycznym spowoduje usunięcie tabel.

We wtorek 18 lutego opublikowano poprawioną łatkę – wersję 1.6.3.

Przypominamy, aby w sytuacji gdy nie używamy już danej wtyczki, najlepiej jest ją wyłączyć i usunąć.