Bezpieczeństwo IT · RCE

WordPress – krytyczna luka RCE w popularnej wtyczce

Zespół bezpieczeństwa Zdalny Admin·22 marca 2022·3 min czytania

WordPress jest dziś najczęściej używanym systemem CMS do tworzenia stron internetowych. Na tej platformie zbudowano już miliony witryn na całym świecie. WordPress nie jest jednak narzędziem idealnym i – podobnie jak inne popularne platformy – bywa narażony na poważne zagrożenia. Jednym z nich jest luka w zabezpieczeniach wtyczki umożliwiająca zdalne wykonanie kodu (RCE).

WordPress Elementor – co to?

Jak już wspomniano, WordPress to platforma no-code do tworzenia stron internetowych, czyli system CMS. Opiera się na intuicyjnym interfejsie, a jego największą zaletą jest możliwość instalowania dodatkowych wtyczek, które znacząco poszerzają możliwości Twojej strony. Jedną z najpopularniejszych wtyczek jest Elementor, którego głównym zadaniem jest ułatwienie tworzenia stron WWW, zwłaszcza początkującym. Występuje w dwóch wersjach: darmowej i płatnej. Płatna wersja licencjonowana oferuje znacznie szerszy wachlarz funkcji i możliwości, ze znacznie bardziej rozbudowanymi gotowymi blokami. Główne zalety tej wtyczki to łatwiejsza praca dzięki przejrzystemu i intuicyjnemu interfejsowi edytora stron oraz bogata biblioteka gotowych szablonów, które wystarczą, aby rozpocząć tworzenie i edycję strony. Aby wszystko działało sprawnie, warto zainwestować w odpowiedni hosting pod WordPress, ponieważ to właśnie jakość hostingu decyduje o tym, czy strona działa szybko i sprawnie w sieci.

Czym jest luka we wtyczce Essential Addons?

Popularna wtyczka Essential Addons for Elementor zawiera krytyczną lukę umożliwiającą zdalne wykonanie kodu (RCE) w wersji 5.0.4 i starszych. Luka pozwala nieuwierzytelnionemu atakującemu przeprowadzić atak polegający na dołączaniu plików lokalnych, takich jak plik PHP, w celu wykonania kodu w witrynie. Błąd we wtyczce wynikał ze sposobu dołączania plików na podstawie danych wejściowych użytkownika przekazywanych do funkcji include w PHP, z której korzystają funkcje ajax_load_more i ajax_eael_product_gallery. W efekcie jedynym warunkiem przeprowadzenia ataku jest włączenie widżetów Dynamic Gallery i Product Gallery. Warto podkreślić, że krytyczna luka RCE mogła dotyczyć około miliona stron na WordPressie, bo mniej więcej tyle witryn pobrało to rozszerzenie.

Próby naprawy

Natychmiast po wykryciu luki rozpoczęto prace nad jej usunięciem. Dwie aktualizacje wtyczki nie wyeliminowały błędu i dopiero wersja 5.0.5 faktycznie rozwiązała problem. Wiele stron zaktualizowało wtyczkę automatycznie, jednak jeszcze długo potem w sieci można było znaleźć witryny działające na wersji 5.0.3, 5.0.4 lub starszej. Każdy, kto korzysta z Essential Addons for Elementor, może zabezpieczyć swoją stronę, aktualizując wtyczkę – na jeden z dwóch sposobów: pobierając najnowszą aktualizację z wyświetlonego powiadomienia lub przechodząc ręcznie do kokpitu WordPressa i uruchamiając aktualizację stamtąd.

Aktualizacja 5.0.3 próbowała rozwiązać problem, dodając funkcję „sanitize_text_field” do danych wejściowych użytkownika. Nie przyniosło to jednak oczekiwanych rezultatów i dołączanie lokalnych plików wciąż było możliwe. Druga próba, wersja 5.0.4, wprowadziła funkcję „sanitize_file_name”, która miała usuwać znaki specjalne, takie jak kropki i ukośniki, i w ten sposób „czyścić” tekst. Lukę ostatecznie zamknięto w wersji 5.0.5, w której zaimplementowano funkcję PHP „realpath”. Wersja ta została wydana 28 stycznia 2022 roku.

Wtyczki WordPressa są coraz częstszym celem cyberprzestępców, którzy wykorzystują przede wszystkim luki w ich zabezpieczeniach. Na szczęście w większości przypadków twórcy wtyczek reagują szybko, wydając nowe aktualizacje. To jeden z najmocniejszych argumentów pokazujących, jak ważne w świecie cyberbezpieczeństwa jest aktualizowanie oprogramowania.