
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Podatności typu pre-auth remote code execution należą do najgroźniejszych klas błędów bezpieczeństwa w aplikacjach webowych, ponieważ umożliwiają zdalne wykonanie kodu bez potrzeby wcześniejszego logowania. Do tej kategorii należy CVE-2025-32432 dotycząca Craft CMS. W praktyce oznacza to, że podatny serwer może zostać przejęty przez napastnika z wykorzystaniem zwykłych żądań HTTP, bez posiadania konta w systemie.
Sytuację dodatkowo pogarsza fakt opublikowania publicznego exploita. Taki kod obniża próg wejścia dla cyberprzestępców, przyspiesza automatyzację skanowania Internetu i zwiększa prawdopodobieństwo masowych prób kompromitacji instancji Craft CMS wystawionych do sieci.
W skrócie
- CVE-2025-32432 to krytyczna podatność RCE w Craft CMS o ocenie 10.0 w skali CVSS 3.1.
- Problem dotyczy gałęzi 3.x, 4.x i 5.x przed wersjami 3.9.15, 4.14.15 oraz 5.6.17.
- Luka może zostać wykorzystana bez uwierzytelnienia.
- Publiczny exploit pokazuje łańcuch ataku oparty na nadużyciu deserializacji i użyciu pliku sesji PHP.
- Podatność została powiązana z aktywnym wykorzystaniem w rzeczywistych środowiskach.
Kontekst / historia
Craft CMS już wcześniej pojawiał się w analizach bezpieczeństwa związanych z podatnościami prowadzącymi do wykonania kodu po stronie serwera. W przypadku CVE-2025-32432 producent wskazał, że poprawka pełni również rolę dodatkowego zabezpieczenia względem wcześniejszego problemu z tej samej klasy. To ważny sygnał, ponieważ sugeruje, że ryzyko nie wynika wyłącznie z pojedynczego błędu implementacyjnego, ale z szerszej powierzchni ataku związanej z przetwarzaniem danych wejściowych i zachowaniem komponentów frameworka.
Według dostępnych informacji podatne były wersje od 3.0.0-RC1 do przed 3.9.15, od 4.0.0-RC1 do przed 4.14.15 oraz od 5.0.0-RC1 do przed 5.6.17. Dodanie luki do katalogu Known Exploited Vulnerabilities potwierdza, że problem nie ma wyłącznie charakteru teoretycznego. Dla zespołów bezpieczeństwa oznacza to konieczność traktowania CVE-2025-32432 jako zagrożenia o wysokim priorytecie operacyjnym.
Analiza techniczna
Publicznie udostępniony exploit opisuje wieloetapowy łańcuch prowadzący do zdalnego wykonania kodu. Punktem wejścia jest endpoint odpowiedzialny za generowanie transformacji zasobów. Napastnik dostarcza spreparowane dane wejściowe, które wpływają na ścieżkę przetwarzania obiektów w aplikacji i komponentach frameworka Yii.
Kluczowym elementem ataku jest manipulacja polem handle i wstrzyknięcie struktury odwołującej się do klas takich jak craft\behaviors\FieldLayoutBehavior oraz yii\rbac\PhpManager. W efekcie możliwe staje się wskazanie pliku, który zostanie załadowany przez podatny mechanizm. W opublikowanym proof-of-concept rolę tę pełni plik sesji PHP zapisany lokalnie na serwerze.
Scenariusz ataku zakłada najpierw utworzenie sesji i doprowadzenie do zapisania w pliku sesyjnym kontrolowanej zawartości. Następnie kolejne żądanie wymusza odczyt tego pliku w kontekście podatnego łańcucha aplikacyjnego, co finalnie prowadzi do wykonania polecenia systemowego. Taki model nadużycia łączy logikę aplikacji, obsługę sesji i zachowanie frameworka, przez co może omijać prostsze, jednowarstwowe mechanizmy ochronne.
Atak jest szczególnie niebezpieczny z kilku powodów: nie wymaga logowania, ma niską złożoność, wykorzystuje standardowe mechanizmy HTTP i może być zautomatyzowany. Dodatkowo exploit pokazuje możliwość praktycznego wyszukiwania poprawnego identyfikatora zasobu, co zwiększa skuteczność prób wykorzystania w rzeczywistych wdrożeniach.
Konsekwencje / ryzyko
Skuteczne wykorzystanie CVE-2025-32432 może prowadzić do pełnego przejęcia serwera aplikacyjnego. W zależności od uprawnień procesu PHP napastnik może wykonywać polecenia systemowe, odczytywać pliki konfiguracyjne, przejmować dane dostępowe do baz danych, modyfikować treści serwisu czy instalować web shelle zapewniające trwały dostęp.
Ryzyko biznesowe również jest znaczące. Craft CMS bywa wykorzystywany w serwisach korporacyjnych, portalach klientów i środowiskach marketingowych, dlatego kompromitacja może skutkować naruszeniem poufności danych, utratą integralności treści, dystrybucją złośliwego kodu do odwiedzających, a także problemami reputacyjnymi i operacyjnymi.
Publiczna dostępność exploita dodatkowo zwiększa prawdopodobieństwo skanowania podatnych instancji na dużą skalę. Nawet jeśli nie każde środowisko będzie podatne w identyczny sposób, samo opublikowanie działającego PoC zwykle skraca czas pomiędzy ujawnieniem luki a jej wykorzystaniem w kampaniach oportunistycznych.
Rekomendacje
Najważniejszym działaniem jest natychmiastowa aktualizacja Craft CMS do wersji naprawczych 3.9.15, 4.14.15 lub 5.6.17 albo nowszych w odpowiedniej gałęzi utrzymaniowej. Organizacje, które nie mogą wdrożyć poprawki od razu, powinny potraktować sytuację jako pilną i jak najszybciej zaplanować okno serwisowe.
Równolegle warto przeanalizować logi HTTP pod kątem żądań do endpointu odpowiedzialnego za generowanie transformacji zasobów, szczególnie jeśli zawierają nietypowe struktury JSON, odwołania do klas frameworka Yii lub anomalie w parametrach. Należy również sprawdzić, czy na serwerze nie pojawiły się nieautoryzowane pliki, web shelle, podejrzane zadania cron oraz ślady wykonania poleceń systemowych przez proces PHP.
- Bezzwłocznie zaktualizować podatne instancje Craft CMS.
- Przeprowadzić przegląd logów aplikacyjnych, serwerowych i systemowych.
- Zweryfikować integralność plików aplikacji oraz katalogów tymczasowych i sesyjnych.
- Ograniczyć uprawnienia procesu PHP i możliwość wykonywania poleceń systemowych.
- Wdrożyć dodatkowy monitoring oraz reguły WAF wykrywające próby nadużycia podatnego endpointu.
- W razie podejrzenia incydentu przyjąć scenariusz pełnej kompromitacji hosta.
Jeżeli istnieje podejrzenie udanego wykorzystania luki, organizacja powinna odseparować system, zabezpieczyć artefakty do analizy powłamaniowej, zresetować sekrety aplikacyjne i poświadczenia dostępu do zaplecza oraz rozważyć odtworzenie środowiska z zaufanego obrazu po wcześniejszym usunięciu przyczyny podatności.
Podsumowanie
CVE-2025-32432 to jedna z najpoważniejszych podatności, które dotknęły Craft CMS w ostatnim czasie. Połączenie braku uwierzytelnienia, niskiej złożoności ataku, publicznego exploita i oznak aktywnego wykorzystania tworzy profil ryzyka wymagający natychmiastowej reakcji po stronie administratorów oraz zespołów SOC.
W praktyce kluczowe są trzy działania: szybka aktualizacja, weryfikacja potencjalnych śladów kompromitacji i wzmocnienie monitoringu pod kątem nietypowych żądań do aplikacji. Zwłoka znacząco zwiększa ryzyko przejęcia systemu i dalszego rozprzestrzenienia incydentu w infrastrukturze organizacji.
Źródła
- Exploit Database – Craft CMS 5.6.16 – RCE
https://www.exploit-db.com/exploits/52525 - NVD – CVE-2025-32432 Detail
https://nvd.nist.gov/vuln/detail/CVE-2025-32432 - Craft CMS and CVE-2025-32432
https://craftcms.com/knowledge-base/craft-cms-cve-2025-32432 - SensePost – Investigating an in-the-wild campaign using RCE in CraftCMS
https://sensepost.com/blog/2025/investigating-an-in-the-wild-campaign-using-rce-in-craftcms/ - CISA Known Exploited Vulnerabilities Catalog – CVE-2025-32432
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-32432