Krytyczna luka w WordPress
Kilka dni temu zespół WordPressa opublikował awaryjną aktualizację bezpieczeństwa usuwającą jedną z najgroźniejszych podatności ostatnich lat. Tym razem to nie jest kolejny problem z nieaktualizowaną wtyczką czy przestarzałym motywem. Błąd tkwił w samym sercu, czyli w rdzeniu najpopularniejszego systemu CMS na świecie. Oznacza to, że zagrożone były nawet te instalacje, które określamy mianem całkowicie „czystych” – bez żadnych zewnętrznych dodatków.
Jako zespół, którego praca kręci się na co dzień wokół ciągłego tworzenia i publikowania treści, doskonale wiemy, że stabilna i bezpieczna strona to absolutny fundament działania. Paraliż platformy publikacyjnej to najgorszy możliwy scenariusz. Dlatego potraktujcie tę sprawę z maksymalnym priorytetem.
Jak AI odkryło (i przyspieszyło) problem
Za ujawnienie luki, nazwanej przez zespół Searchlight Cyber łańcuchem ataku WP2Shell, odpowiada Adam Kues z firmy Assetnote. Błąd został bezpiecznie przekazany przez program bug bounty na platformie HackerOne, co dało twórcom WordPressa czas na przygotowanie łatki przed upublicznieniem szczegółów.
Ciekawostką, która na stałe zapisze się w historii cyberbezpieczeństwa, jest fakt, w jaki sposób badacze w ogóle wpadli na trop tej luki. Została ona namierzona z pomocą zaawansowanego modelu sztucznej inteligencji – GPT-5.6 Sol Ultra. To jeden z pierwszych tak spektakularnych przypadków, gdy AI pomaga znaleźć krytyczny błąd w rdzeniu oprogramowania napędzającego połowę internetu (szacuje się, że WordPress obsługuje dziś ponad 500 milionów witryn).
WP2Shell, czyli dwie luki i jeden tragiczny scenariusz
Atak WP2Shell to tak naprawdę zmyślne połączenie dwóch odrębnych błędów. Pierwszy z nich (CVE-2026-63030) dotyczy niewłaściwej obsługi żądań wsadowych w REST API. Drugi (CVE-2026-60137) pozwala na atak typu SQL Injection w ramach mechanizmu WP_Query.
Osobno błędy te nie powodują całkowitej katastrofy. Jednak złączone w jeden łańcuch pozwalają napastnikowi na zdalne wykonanie kodu (Remote Code Execution – RCE) bez żadnego uwierzytelniania. Jak zauważa Łukasz Ozimek, COO Exea Data Center, atak nie wymaga absolutnie żadnych warunków wstępnych: nie trzeba mieć konta, nie trzeba być zalogowanym, nie wymaga się obecności jakiejkolwiek dziurawej wtyczki ani interakcji ze strony nieświadomego administratora. Haker wysyła po prostu odpowiednio spreparowane żądanie do endpointu /wp-json/batch/v1, dostaje się do bazy (np. kradnąc hashe haseł administratorów) i przejmuje kontrolę nad serwerem.
Co więcej, obecność pamięci podręcznej typu Redis czy Memcached może zatrzymać jeden wektor ataku, ale nie łata samej luki i nie powinna być traktowana jako zabezpieczenie.
Przejęta strona nie znika – ona zaczyna pracować dla hakera
Największym zagrożeniem wcale nie jest to, że nagle na stronie pojawi się czarny ekran i czaszka. To metody sprzed kilkunastu lat. Dzisiejsi cyberprzestępcy działają po cichu. Przejęta strona często funkcjonuje pozornie normalnie – my wciąż publikujemy nasze artykuły i wpisy, a tymczasem w tle serwer dystrybuuje malware, rozsyła spam, staje się częścią botnetu albo służy do kradzieży danych z formularzy klientów. Właściciele dowiadują się o włamaniu dopiero po wielu tygodniach, często w momencie, gdy ich domena trafia na czarne listy Google’a.
Sytuację pogarsza fakt, że to, co sztuczna inteligencja zdołała odkryć, inna sztuczna inteligencja potrafi błyskawicznie wykorzystać do ataku. Zaledwie dwa dni po ujawnieniu podatności, organizacje zajmujące się cyberbezpieczeństwem (m.in. VulnCheck, Patchstack, watchTowr, a także CERT Polska) zidentyfikowały dziesiątki gotowych, publicznie dostępnych exploitów i aktywne próby włamań. AI drastycznie skróciło okno pomiędzy odkryciem luki a jej masowym wykorzystaniem przez hakerów z dni do zaledwie kilku godzin.
Jak się zabezpieczyć? Instrukcja krok po kroku
Aby chronić swoje strony przed atakiem WP2Shell, podejmij natychmiastowe działania:
- Sprawdź wersję WordPressa: Zaloguj się do panelu (Kokpit -> Aktualizacje) lub sprawdź widżet „Rzut oka”. W grupie najwyższego ryzyka (pełne RCE) są wersje 6.9.0–6.9.4 oraz 7.0.0–7.0.1. Wersje 6.8.0–6.8.5 są podatne „tylko” na SQL Injection, co nadal jest ogromnym zagrożeniem. Do testów możesz użyć darmowego narzędzia wp2shell.com, przygotowanego przez odkrywców luki.
- Natychmiast zaktualizuj system: To jedyne skuteczne rozwiązanie. Zaktualizuj WordPressa do odpowiedniej wersji bezpiecznej: 7.0.2, 6.9.5 lub 6.8.6. Kliknij „Zaktualizuj teraz” w kokpicie.
- Zweryfikuj aktualizację: WordPress.org rozpoczął wymuszone, automatyczne łatki dla instalacji w sieci, ale ten proces potrafi zawieść. Musisz upewnić się ręcznie, że w Twoim panelu widnieje nowa, bezpieczna wersja.
- Zablokuj endpoint (jeśli nie możesz zaktualizować): Jako środek tymczasowy zablokuj na WAF (Web Application Firewall) ścieżkę
/wp-json/batch/v1oraz parametr?rest_route=/batch/v1. Należy zablokować obie formy – zostawienie jednej to otwarta furtka. Opcjonalnie możesz zainstalować wtyczkę odrzucającą anonimowe żądania wsadowe, pamiętaj jednak, że może to zepsuć działanie edytora blokowego Gutenberg. - Konfiguracja Cloudflare: Jeśli korzystasz z darmowego planu CF – jesteś chroniony z automatu. Klienci planów płatnych (Pro, Business, Enterprise) muszą upewnić się, że mają włączone reguły Cloudflare Managed Rules.
- Sprawdź, czy nie jest za późno: Jeśli Twoja strona działała na podatnej wersji dłużej niż parę dni, potraktuj ją jak potencjalnie zaatakowaną. Przejrzyj listę kont administratorów (usuń nieznane), sprawdź ostatnio modyfikowane pliki na serwerze (szczególnie pliki PHP) i zweryfikuj logi pod kątem podejrzanych zapytań do REST API.
