NOWOŚĆ! Szkolenie AI w pracy admina

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

 

Mechanizm wyboru szablonu może doprowadzić do RCE w WordPressie

02 października 2026, 09:38 | W biegu | 0 komentarzy
Tagi: , ,

Internet WordPressem stoi, a świat nie wyobraża sobie… tygodnia bez kolejnego artykułu na sekuraku o poważnej podatności w WordPressie. 22 września 2026 r. jako security release wydana została wersja 7.1.2 tego popularnego systemu zarządzania treścią.

TLDR:

  • Umiejętne wykorzystanie wady mechanizmu wyboru szablonu strony może umożliwić nieuwierzytelnionemu użytkownikowi zdalne wykonanie kodu. Przejście od załadowania lokalnego pliku do RCE wymaga jednak spełnienia dodatkowych warunków związanych z aktywnym motywem i konfiguracją środowiska serwerowego.
  • Podatne są wszystkie wspierane gałęzie. Zalecana jest jak najszybsza aktualizacja.

Poprawka łata krytyczną lukę w zabezpieczeniach mogącą po spełnieniu określonych warunków prowadzić nawet do zdalnego wykonania kodu (RCE). Podatność została oznaczona identyfikatorem CVE-2026-87902 i otrzymała ocenę 8.1 w CVSS 3.1 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H).

Podatność została zaklasyfikowana jako CWE-98 (Improper Control of Filename for Include/Require Statement in PHP Program). Opisywany problem dotyczy mechanizmu wykorzystywanego do lokalizowania szablonów stron i może pozwolić nieuwierzytelnionemu atakującemu na doprowadzenie do załadowania lokalnego pliku PHP znajdującego się poza katalogiem aktywnego motywu. W określonych warunkach może to skutkować zdalnym wykonaniem kodu. Atak nie wymaga posiadania konta w WordPressie. Wystarczy wysłanie anonimowego żądania.

Funkcja locate_template() lokalizuje plik szablonu, przeszukując odpowiednie katalogi. Brak odpowiedniej walidacji rzeczywistej ścieżki pliku sprawiał, że wykorzystanie przez użytkownika konstrukcji zawierających np. .. mogło spowodować wyjście poza dozwolony katalog, a w efekcie doprowadzić do załadowania już znajdującego się na serwerze pliku występującego poza katalogiem danego motywu. Sam mechanizm locate_template() operuje na ścieżce zbudowanej z katalogu motywu i nazwy szablonu, a kontrola w podatnych wersjach sprowadzała się głównie do weryfikacji istnienia wskazanego pliku. W praktyce już sama obecność pliku pod rozwiązaną ścieżką mogła być wystarczająca do tego, aby został on uznany za dozwolony.

W ramach wprowadzonej poprawki dodano mechanizm _wp_is_template_path_allowed(). Dzięki temu mechanizmowi możliwe jest upewnienie się, że rzeczywista ścieżka pliku nadal znajduje się w jednym z katalogów, z których WordPress może bezpiecznie ładować szablony, a wykorzystanie m.in. funkcji realpath() ma na celu sprawdzenie ścieżki po rozwiązaniu elementów takich jak .., a nie tylko jej tekstowej postaci.

W praktyce, pomimo wysokiej oceny CVSS podatności, doprowadzenie do RCE nie jest trywialne. Z analizy Wordfence wynika, że spełnione muszą zostać dwa warunki. Przede wszystkim aktywny motyw musi mieć katalog najwyższego poziomu, którego nazwa zaczyna się od page-. Podawane przez badaczy przykłady, to page-templates w motywach takich jak Twenty Twelve, Twenty Fourteen, Neve, Hestia czy Sydney.

Ponadto do wykonania zdalnego kodu potrzebny jest na serwerze odpowiedni plik .php, który można by wykorzystać jako kolejny element łańcucha eksploitacji. Badacze z Wordfence jako jeden z możliwych przykładów podają plik pearcmd.php przy konfiguracji PHP z register_argc_argv=On. Jak wskazują autorzy tej analizy, środowisko spełniające takie warunki można spotkać m.in. w oficjalnych obrazach Dockera PHP, a także w domyślnych konfiguracjach cPanel z PHP starszym niż 8.5. 

Podatność została zgłoszona w ramach odpowiedzialnego ujawnienia przez Roberta Ressla. Sam Robert Ressl na co dzień zajmuje się rozwojem modeli sztucznej inteligencji przeznaczonych do wyszukiwania podatności, red teamingu, testów penetracyjnych czy analizy eksploitów pozbawionych ograniczeń w tym zakresie typowych dla popularnych rozwiązań dostępnych komercyjnie. Na jego stronie możemy przeczytać, że buduje, łamie i wdraża systemy sztucznej inteligencji. Brak jednak informacji, które mogłyby wskazywać na to, że tę konkretną lukę w zabezpieczeniach znaleziono z pomocą narzędzi wykorzystujących AI.

Podatne są wszystkie wspierane gałęzie WordPressa od 4.7 do 7.1. Poprawione wersje to odpowiednio m.in. 7.1.2, 7.0.6, 6.9.9 i 6.8.10. Pełna informacja na ten temat znajduje się w informacjach o wydaniu. Jednocześnie warto nadmienić, że wersje w ramach gałęzi 4.6 oraz starszych nie otrzymają poprawek. Jak dotychczas nie ma doniesień o aktywnym wykorzystaniu luki w rzeczywistych atakach.

~pu

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz