
Wprowadzenie do problemu / definicja
Zespół WordPress opublikował aktualizację 7.0.4, która eliminuje podatność wysokiego ryzyka prowadzącą do zdalnego wykonania kodu po uwierzytelnieniu. Problem dotyczył procesu obsługi przesyłanych plików graficznych w określonych konfiguracjach środowiska, zwłaszcza tam, gdzie wykorzystywane są komponenty Imagick i Ghostscript.
Zagrożenie ma szczególne znaczenie dla serwisów wieloautorskich, portali członkowskich, platform e-learningowych oraz wszystkich instalacji WordPress, w których większa liczba użytkowników posiada uprawnienia do wgrywania plików.
W skrócie
Podatność została oznaczona jako CVE-2026-65640 i oceniona na 8.8 w skali CVSS. Luka umożliwia zdalne wykonanie dowolnego kodu przez użytkownika z rolą Author lub wyższą, jeśli instancja WordPress korzysta jednocześnie z rozszerzenia Imagick oraz komponentu Ghostscript.
- naprawa została wdrożona w WordPress 7.0.4,
- poprawka trafiła również do starszych wspieranych gałęzi aż do wersji 4.7,
- atak opiera się na przesłaniu spreparowanego pliku udającego obraz, ale zawierającego kod PostScript.
Kontekst / historia
WordPress od lat korzysta z zewnętrznych bibliotek do przetwarzania multimediów. Oznacza to, że bezpieczeństwo uploadu zależy nie tylko od samej aplikacji, lecz także od zachowania warstw pośrednich, takich jak ImageMagick, rozszerzenie Imagick dla PHP oraz Ghostscript.
W tym przypadku problem ujawnił się na styku tych mechanizmów. Aplikacja podejmowała decyzje na podstawie rozszerzenia pliku, natomiast backend odpowiedzialny za renderowanie analizował jego rzeczywistą zawartość. Tego rodzaju niespójność walidacji to klasyczny przykład błędu typu parser confusion, który może uruchomić niezamierzoną ścieżkę wykonania.
Analiza techniczna
Sedno podatności polega na rozbieżności między tym, jak WordPress klasyfikuje przesłany plik, a tym, jak interpretuje go stos przetwarzania obrazu. WordPress przekazuje plik do obsługi na podstawie jego rozszerzenia, ale ImageMagick analizuje zawartość binarną. Jeśli wykryje dane PostScript, może uruchomić Ghostscript w celu renderowania materiału.
W praktyce napastnik posiadający prawo do uploadu może przygotować plik z rozszerzeniem typowym dla obrazu, na przykład PNG, ale zawierający treść interpretowaną jako PostScript. Jeżeli środowisko spełnia warunki podatności, Ghostscript potraktuje taki plik jak program PostScript i rozpocznie jego przetwarzanie, co otwiera drogę do wykonania kodu po stronie serwera.
Istotnym elementem problemu był również brak jednolicie rygorystycznej kontroli zawartości w każdej ścieżce uploadu. Umożliwiało to obejście części zabezpieczeń opartych wyłącznie na nazwie lub rozszerzeniu pliku. Producent usunął lukę poprzez zmianę logiki odpowiedzialnej za ładowanie plików, tak aby ich zawartość była weryfikowana przed przekazaniem do Imagick. Dodatkowo zablokowano możliwość manipulowania nazwami plików w sposób wpływający na wybór mechanizmu przetwarzania i wywołanie Ghostscript.
Konsekwencje / ryzyko
Choć podatność nie daje anonimowego RCE z Internetu i wymaga uwierzytelnienia oraz możliwości przesyłania plików, ryzyko należy uznać za bardzo realne. W wielu organizacjach taki model ataku jest praktyczny, ponieważ konta z uprawnieniami autorskimi lub redakcyjnymi są powszechne.
- platformy publikacyjne z wieloma autorami,
- serwisy członkowskie i szkoleniowe,
- witryny agencyjne obsługiwane przez licznych współpracowników,
- środowiska z niedostatecznie kontrolowanym nadawaniem ról i uprawnień.
Skuteczne wykorzystanie luki może prowadzić do pełnej kompromitacji aplikacji webowej, uruchomienia złośliwego kodu na serwerze, ruchu bocznego w infrastrukturze, kradzieży danych, instalacji backdoora, a nawet wdrożenia ransomware.
Rekomendacje
Najważniejszym działaniem jest niezwłoczna aktualizacja WordPress do wersji 7.0.4 lub odpowiedniej poprawionej wersji ze starszej wspieranej gałęzi. Organizacje, które nie mogą wdrożyć aktualizacji natychmiast, powinny jak najszybciej ograniczyć powierzchnię ataku.
- zaktualizować rdzeń WordPress i potwierdzić skuteczne wdrożenie poprawki,
- przeprowadzić inwentaryzację środowisk korzystających z Imagick i Ghostscript,
- ograniczyć możliwość uploadu plików wyłącznie do zaufanych użytkowników,
- przejrzeć konta z rolą Author lub wyższą i usunąć nadmiarowe uprawnienia,
- wdrożyć dodatkową walidację MIME type oraz analizę rzeczywistej zawartości plików,
- monitorować logi uploadu, procesy potomne i nietypowe wywołania związane z renderowaniem obrazów,
- rozważyć izolację procesów przetwarzania multimediów w osobnych kontenerach lub z dodatkowymi ograniczeniami systemowymi,
- przeskanować wcześniej przesłane pliki graficzne pod kątem podejrzanej zawartości,
- sprawdzić obecność webshelli, zadań cron, nietypowych procesów i nieautoryzowanych zmian w plikach aplikacji.
Z perspektywy defense-in-depth warto również ograniczyć możliwości Ghostscript i procesu PHP za pomocą sandboxingu, AppArmor, SELinux, seccomp oraz minimalizacji uprawnień systemowych.
Podsumowanie
CVE-2026-65640 pokazuje, że poważne błędy bezpieczeństwa w aplikacjach webowych często wynikają nie z pojedynczej wady kodu, lecz z niebezpiecznej interakcji wielu komponentów. W tym przypadku połączenie WordPress, Imagick i Ghostscript stworzyło warunki do zdalnego wykonania kodu przez użytkownika z relatywnie niskimi, ale w praktyce często dostępnymi uprawnieniami.
Dla administratorów oznacza to konieczność szybkiego patchowania, przeglądu ról użytkowników oraz wzmocnienia kontroli uploadu i izolacji procesów odpowiedzialnych za przetwarzanie plików.