Pomoc zdalna
alerty bezpieczeństwa

Craft CMS (CVE-2025-35939): „średnia” luka, która w łańcuchu z CVE-2025-32432 przejmuje stronę

Craft CMS zapisywał bez sprawdzenia treść od niezalogowanych osób do plików sesji na serwerze. W parze z luką CVE-2025-32432 (ocena 10.0) pozwala przejąć firmową stronę. CISA potwierdza ataki. Zaktualizuj do 4.15.3 lub 5.7.5 albo nowszej.

  • Paweł Niedźwiecki
Paweł Niedźwiecki
17 września 2026 8 min czytania
Zespół pracujący wspólnie nad treściami firmowej strony internetowej

Ten alert jest dla zarządu, CTO i CFO firm, których strona internetowa działa na Craft CMS, zwykle wdrożonym i utrzymywanym przez agencję. Werdykt: jeśli Craft CMS ma wersję starszą niż 4.15.3 (linia 4) lub 5.7.5 (linia 5), zaktualizuj go w ciągu kilku dni do najnowszej wersji w swojej linii, bo ta „średnia” luka jest ogniwem potwierdzonego łańcucha ataku, który kończy się przejęciem serwera strony.

1. CO SIĘ STAŁO? Fakty w pigułce

Amerykańska agencja CISA 2 czerwca 2025 roku dopisała podatność CVE-2025-35939 do katalogu KEV, czyli listy luk, o których ma dowody, że są wykorzystywane w prawdziwych atakach. CISA wprost zaznacza, że ta luka może być łączona z CVE-2024-58136 (błąd w bibliotece Yii, na której zbudowano Craft CMS), co opisuje luka CVE-2025-32432 z oceną 10.0.

Mechanizm: gdy niezalogowana osoba wchodzi na stronę wymagającą logowania, Craft CMS zapamiętuje adres powrotny w pliku sesji na serwerze (/var/lib/php/sessions/sess_...), bez sprawdzania treści. Nazwę pliku serwer sam podaje w ciasteczku. Napastnik może więc umieścić kod PHP w pliku o znanej ścieżce. Sam plik nic nie robi, ale druga luka może zmusić system do jego uruchomienia.

Termin naprawy wyznaczony przez CISA minął 23 czerwca 2025 roku, ponad rok temu.

Element

Szczegóły

Identyfikator CVE

CVE-2025-35939

Data dodania do CISA KEV

2025-06-02

Termin naprawy wg CISA

2025-06-23 (21 dni od wpisu)

Produkt

Craft CMS (system zarządzania treścią stron internetowych)

Wersje zagrożone

Wszystkie przed 4.15.3 oraz 5.0.0 do 5.7.4. Dla linii 3.x rejestry nie wskazują wersji z poprawką tej luki

Wersje bezpieczne

4.15.3 i 5.7.5 oraz nowsze; najnowsze wydania: 4.18.8 i 5.11.1 (wrzesień 2026). Uwaga: luka CVE-2025-32432 z tego samego łańcucha ma inne wersje naprawcze (3.9.15, 4.14.15, 5.6.17), więc aktualizacja tylko pod nią nie zamyka CVE-2025-35939

Typ podatności

Zewnętrzna kontrola parametru uznawanego za niezmienny; CWE-472 (wg rejestrującego); NVD: kategoria zbiorcza „inne”

Ocena CVSS

5.3 ŚREDNIA (CVSS 3.1, NVD i rejestrujący); 6.9 ŚREDNIA (CVSS 4.0, rejestrujący). Atak przez sieć, bez logowania, bez udziału użytkownika; sam skutek to częściowe naruszenie integralności. Powiązana CVE-2025-32432: 10.0

2. O CO CHODZI W PROSTYCH SŁOWACH?

Wyobraź sobie firmę, w której recepcja zapisuje na karteczce, do kogo gość chciał wejść, i odkłada ją do szuflady z jego numerkiem. Recepcja nie czyta, co gość podyktował, i zawsze mówi mu numer szuflady. Sama karteczka jest nieszkodliwa. Ale w firmie jest też pracownik, który na polecenie „wykonaj instrukcje z szuflady nr 12” robi to bez pytania. Razem daje to obcej osobie możliwość wydania dowolnego polecenia w firmie.

Tak działa ten łańcuch. CVE-2025-35939 to karteczka w szufladzie: kod napastnika zapisany w pliku sesji o znanej nazwie. CVE-2025-32432 to pracownik, który wykonuje instrukcje: luka pozwalająca uruchomić kod. Każda osobno wygląda na mniej groźną, razem dają przejęcie serwera strony. Dlatego sortowanie łatek wyłącznie po ocenie punktowej tu zawodzi.

💡 CMS to system do zarządzania treścią strony internetowej. Sesja to zapis na serwerze, po którym system rozpoznaje odwiedzającego. PHP to język, w którym napisany jest Craft CMS, więc kod PHP w pliku może zostać przez serwer wykonany. Łańcuch luk (chain) to połączenie kilku błędów, z których każdy osobno nie wystarcza do ataku. Yii to biblioteka programistyczna, na której zbudowano Craft CMS.

Scenariusz

Normalnie

Z podatnością

Niezalogowana osoba otwiera stronę panelu

Przekierowanie na logowanie

Tak samo, ale jej dowolna treść trafia do pliku sesji

Zawartość pliku sesji

Tylko dane systemu

Może zawierać kod PHP napastnika

Ścieżka do pliku

Nieznana z zewnątrz

Znana, bo identyfikator sesji jest w ciasteczku

Druga luka (CVE-2025-32432) załatana

Łańcuch przerwany

Ładunek dalej leży, czeka na kolejny sposób uruchomienia

Łatanie według ocen

Najpierw 10.0, potem 5.3

Aktualizacja „pod 10.0” zostawia otwartą lukę 5.3

Dwie dłonie przekazujące sobie drewnianą pałeczkę sztafetowąźródło: Pexels, BOOM Photography

3. JAK HAKERZY TO WYKORZYSTUJĄ?

Poniżej typowy przebieg ataku dla tego łańcucha. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. CISA ocenia wykorzystanie CVE-2025-35939 jako aktywne i automatyzowalne, ze skutkiem częściowym; pełne przejęcie wymaga drugiej luki.

Etap

Czas

Akcja hakerów

Wynik

1. Skanowanie

T+0 min

Automatyczne wyszukiwanie stron na Craft CMS i odczyt wersji

Lista celów

2. Podłożenie ładunku

T+1 min

Żądanie do strony wymagającej logowania z kodem PHP w adresie powrotnym

Kod zapisany w pliku sesji o znanej nazwie

3. Uruchomienie

T+2 min

Wykorzystanie drugiej luki (CVE-2025-32432 lub podobnej) do wykonania pliku

Kod napastnika działa na serwerze

4. Utrwalenie

T+10 min

Instalacja ukrytego pliku dającego stały dostęp

Kontrola nad stroną

5. Wykorzystanie

T+dni

Ukryte treści dla wyszukiwarek, przekierowania, wysyłka spamu, kradzież danych z formularzy

Strona pracuje dla napastnika

6. Skutek

T+tygodnie

Ostrzeżenia w przeglądarkach, spadek w wynikach wyszukiwania

Utrata zapytań od klientów

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Konkretne scenariusze zagrożenia

  • 🔴 Scenariusz 1: agencja zaktualizowała stronę tylko do wersji zamykającej CVE-2025-32432; ładunek nadal można podkładać, a pojawienie się nowej luki wykonującej pliki znów otwiera drogę do przejęcia.
  • 🔴 Scenariusz 2: przejęta strona firmy usługowej przekierowuje część odwiedzających na strony oszustów, a przeglądarki zaczynają pokazywać ostrzeżenie przy wejściu na firmowy adres.
  • 🔴 Scenariusz 3: napastnik przechwytuje dane z formularza kontaktowego i zamówień, w tym dane osobowe klientów.

4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?

Strona firmowa to źródło zapytań od klientów i wizytówka marki. Przejęta strona rzadko przestaje działać, ale zaczyna szkodzić: ostrzeżenia w przeglądarkach i spadek w wyszukiwarce zostają na tygodnie po usunięciu przyczyny.

Obszar biznesu

Potencjalny wpływ

Czas do wystąpienia

Koszty szacunkowe

Operacyjny

Czyszczenie i odbudowa strony, pilne prace agencji

Dni

10 tys. do 60 tys. PLN

Bezpieczeństwo danych

Wyciek danych z formularzy, kont użytkowników i bazy strony

Dni od przejęcia

10 tys. do 100 tys. PLN (analiza, powiadomienia)

Finansowy

Utracone zapytania i sprzedaż w czasie ostrzeżeń i spadku w wyszukiwarce

Tygodnie do miesięcy

20 tys. do 300 tys. PLN

Reputacyjny

Ostrzeżenie „strona niebezpieczna”, spam wysyłany z domeny firmy

Tygodnie

20 tys. do 200 tys. PLN

Prawny

Przy wycieku danych osobowych zgłoszenie do UODO w 72 godziny; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu (zależnie od okoliczności)

72 godziny od wykrycia

10 tys. do 80 tys. PLN (prawnicy, obsługa zgłoszeń), bez ewentualnej kary

Kwoty są orientacyjnymi widełkami dla małej i średniej firmy, nie danymi z tego incydentu.

Macierz ryzyka dla Craft CMS przed 4.15.3 / 5.7.5 Wpływ 5 | . . . . . (w łańcuchu z CVE-2025-32432: 5) 4 | . . . . . 3 | . . . ■ . ← WYSOKIE 2 | . . . . . 1 | . . . . . +-------------------- 1 2 3 4 5 Prawdopodobieństwo

Interpretacja: sama luka ma ograniczony skutek (zapis pliku), ale jest aktywnie i automatycznie wykorzystywana, więc prawdopodobieństwo jest wysokie; jeśli strona nie ma też poprawki CVE-2025-32432, wpływ rośnie do maksymalnego, bo łańcuch kończy się wykonaniem kodu na serwerze.

5. CO MUSISZ ZROBIĆ NATYCHMIAST?

Lp.

Priorytet

Działanie

Termin

Odpowiedzialny

1

🔴 NATYCHMIAST

Ustalić dokładną wersję Craft CMS na stronie firmowej i innych serwisach

Dziś

Agencja / administrator strony

2

🔴 NATYCHMIAST

Jeśli wersja jest starsza niż 3.9.15, 4.14.15 lub 5.6.17: zaktualizować od razu, bo otwarta jest też luka 10.0

Dziś

Agencja

3

🟠 PILNIE

Zaktualizować do najnowszej wersji w linii 4 (4.18.8) lub 5 (5.11.1), co zamyka obie luki łańcucha

Do 3 dni

Agencja

4

🟠 PILNIE

Sprawdzić pliki sesji i katalogi strony pod kątem nieznanych plików PHP oraz zmian w plikach

Do 7 dni

Agencja / zespół bezpieczeństwa

5

🟠 PILNIE

Jeśli strona działa na linii 3.x: zaplanować migrację na linię wspieraną

Do 7 dni

CTO / agencja

6

🟡 WAŻNIE

Zmienić hasła do panelu, bazy danych i kluczy zapisanych w konfiguracji strony

Do 30 dni

Agencja

7

🟡 WAŻNIE

Wpisać do umowy z agencją obowiązek aktualizacji do najnowszej wersji, a nie „pod konkretną lukę”

Do 30 dni

CFO / CTO

Jeśli aktualizacja nie jest dostępna

Producent wydał poprawki dla linii 4 i 5. Do czasu aktualizacji pomagają poniższe miary, które ograniczają skutki łańcucha. Oceny efektywności to ocena ekspercka.

Czasowa miara ochronna

Efektywność

Łatwość wdrożenia

Aktualizacja przynajmniej do wersji zamykającej CVE-2025-32432 (przerywa znany łańcuch)

Średnia do wysokiej: usuwa zapalnik, nie ładunek

Średnia

Zapora aplikacyjna (WAF) blokująca kod PHP w parametrach adresu

Średnia

Średnia

Ograniczenie dostępu do panelu administracyjnego do znanych adresów

Niska wobec tej luki (dotyczy przekierowania), ale utrudnia inne ataki

Łatwa

Monitorowanie zmian w plikach strony

Niska jako ochrona, przydatna do wykrycia

Łatwa

Przed i po działaniu

Stan

Przed działaniem

Po działaniu

Pliki sesji

Mogą zawierać kod napastnika

Treść adresu powrotnego sprawdzana

Łańcuch ataku

Obie luki otwarte lub tylko jedna zamknięta

Obie zamknięte

Wersja Craft CMS

„Zaktualizowana pod komunikat”

Najnowsza w swojej linii

Wiedza o przejęciu

Brak

Sprawdzone pliki i zmienione hasła

Zgodność z terminem CISA

Zaległość od 23 czerwca 2025

Luka zamknięta i udokumentowana

6. KONTEKST I SKALA ZAGROŻENIA

Aspekt

Informacja

Czy jest wykorzystywana?

TAK (potwierdzone przez CISA); wykorzystanie aktywne i automatyzowalne

Grupy przestępcze

Brak publicznych informacji

Kampanie ransomware

Brak potwierdzenia (CISA: Unknown)

Ocena CVSS

5.3 ŚREDNIA (CVSS 3.1); 6.9 ŚREDNIA (CVSS 4.0); powiązana CVE-2025-32432: 10.0

PoC dostępny publicznie?

Brak publicznych informacji o gotowym kodzie; mechanizm opisany szczegółowo w NVD

Liczba atakowanych firm

Brak publicznych informacji

Prognoza EPSS

0,013 dla tej luki, 0,998 dla CVE-2025-32432 (wg analizy źródłowej)

Powiązane luki w KEV

CVE-2024-58136 (Yii, 2025-05-02), CVE-2025-32432 (Craft CMS, 2026-03-20)

Rozbieżności w rejestrach

ENISA przypisuje wpis w polu produktu do innej firmy (Statamic); różne klasy CWE w NVD i u rejestrującego

Sygnały zagrożenia dla CVE-2025-35939 CVSS 3.1 5.3/10 ███████████░░░░░░░░░ ŚREDNIA CVSS łańcucha (32432) 10.0/10 ████████████████████ KRYTYCZNA CISA KEV TAK ████████████████████ ataki potwierdzone EPSS tej luki ~1,3% ░░░░░░░░░░░░░░░░░░░░ NISKA EPSS luki-partnera ~99,8% ████████████████████ PRAWIE PEWNE
Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Linia czasu incydentu

2024 Poprawka CVE-2024-4990 w Yii, później błąd wraca (CVE-2024-58136) 2025-05-02 CISA dodaje CVE-2024-58136 (Yii) do KEV 2025-05-07 Publikacja CVE-2025-35939, wydania 4.15.3 i 5.7.5 2025-05-28 Dokument CISA opisujący łańcuch luk 2025-06-02 CISA dodaje CVE-2025-35939 do KEV 2025-06-23 Termin naprawy wg CISA dla agencji federalnych 2026-03-20 CISA dodaje CVE-2025-32432 (ocena 10.0) do KEV 2026-06-17 Ostatnia aktualizacja wpisu w NVD ... ponad rok od terminu CISA 2026-09-17: TUTAJ JESTEŚMY

7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO

Poprawka w repozytorium Craft CMS: pull request 17220 . Wydania: Craft CMS 4.15.3 i Craft CMS 5.7.5 . Powiązana luka: Craft CMS CVE-2025-32432 . Wpis w NVD: nvd.nist.gov/vuln/detail/CVE-2025-35939 .

Lp.

Zadanie

Kto

Deadline

1

Zapytać agencję: na jakiej wersji Craft CMS działa nasza strona

CTO

DZISIAJ

2

Zapytać, czy zamknięte są obie luki: CVE-2025-35939 i CVE-2025-32432

CTO

DZISIAJ

3

Zatwierdzić aktualizację do najnowszej wersji w linii 4 lub 5

CTO

DO JUTRA

4

Zlecić sprawdzenie plików strony pod kątem śladów przejęcia

CTO

DO JUTRA

5

Sprawdzić w narzędziach wyszukiwarki i przeglądarki, czy strona nie jest oznaczona jako niebezpieczna

CTO

DO JUTRA

6

Przejrzeć umowę serwisową z agencją: zakres i terminy aktualizacji

CFO

DO JUTRA

7

Zarezerwować budżet na migrację, jeśli strona działa na linii 3.x

CFO

DO JUTRA

8. PYTANIA DO TWOJEGO ZESPOŁU IT

#

Pytanie

Odpowiedź

Priorytet

1

Jaka dokładnie wersja Craft CMS działa na naszej stronie?

[wersja]

🔴

2

Czy wersja zamyka zarówno CVE-2025-35939, jak i CVE-2025-32432?

TAK / NIE

🔴

3

Kiedy ostatnio aktualizowano Craft CMS i bibliotekę Yii?

[data]

🔴

4

Czy w plikach sesji lub katalogach strony znaleziono nieznane pliki PHP?

TAK / NIE

🟠

5

Czy strona działa na linii 3.x?

TAK / NIE

🟠

6

Czy mamy monitorowanie zmian plików strony?

TAK / NIE

🟡

7

Czy umowa z agencją obejmuje aktualizacje do najnowszych wersji?

TAK / NIE

🟡

Pytania diagnostyczne dla managera

  • ✓ Czy wiem, na jakim systemie działa nasza strona i kto go aktualizuje?
  • ✓ Czy łatki „średnie” są u nas odkładane w nieskończoność?
  • ✓ Czy dowiedzielibyśmy się, że strona przekierowuje część klientów na obce adresy?
  • ✓ Czy agencja raportuje nam numery wersji, a nie tylko „jest aktualne”?
  • ✓ Czy formularze na stronie zbierają dane osobowe i gdzie są przechowywane?

Podsumowanie

CVE-2025-35939 pozwala niezalogowanej osobie zapisać kod PHP w pliku sesji Craft CMS o znanej ścieżce, a w łańcuchu z CVE-2025-32432 prowadzi do przejęcia serwera strony. CISA potwierdza ataki, a wersje zamykające obie luki są różne, więc łatanie wyłącznie „pod dziesiątkę” nie wystarcza. Aktualizacja do najnowszej wersji w linii 4 lub 5 zamyka cały łańcuch.

Czytaj dalej

Powiązane artykuły

Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.

Masz to samo u siebie?

Możemy się tym zająć

Krótka rozmowa wystarczy, żeby ocenić zakres prac i podać widełki kosztu. Bez zobowiązań.