Pomoc zdalna
alerty bezpieczeństwa

Jedno ciasteczko i serwer sklepu przejęty: luka CVE-2026-45247 w Mirasvit Cache Warmer dla Magento 2

Rozszerzenie Mirasvit Full Page Cache Warmer dla Magento 2 poniżej wersji 1.11.12 wykonuje kod ukryty w ciasteczku, bez logowania. CISA potwierdza ataki. Wyjaśniamy, co grozi sklepowi i co sprawdzić jeszcze dziś.

  • Paweł Niedźwiecki
Paweł Niedźwiecki
13 września 2026 11 min czytania
Magento 2 logo

Wtyczka, która miała tylko przyspieszać sklep internetowy, otwierała drzwi do jego serwera. Wystarczyło jedno ciasteczko wysłane do dowolnej strony sklepu, bez konta i bez hasła. Luka ma numer CVE-2026-45247, dotyczy rozszerzenia Mirasvit Full Page Cache Warmer dla Magento 2 i od 3 czerwca 2026 jest w katalogu CISA jako wykorzystywana w prawdziwych atakach.

Ten materiał jest dla właściciela sklepu i osoby, która odpowiada za jego wyniki. Nie trzeba znać PHP, żeby podjąć właściwe decyzje. Trzeba wiedzieć, o co zapytać zespół lub agencję, która utrzymuje sklep.

1. Co się stało?

CISA, amerykańska agencja odpowiedzialna za bezpieczeństwo infrastruktury, prowadzi katalog KEV (Known Exploited Vulnerabilities). Trafiają do niego wyłącznie luki, dla których są dowody wykorzystania w atakach. CVE-2026-45247 dodano tam 3 czerwca 2026, osiem dni po publicznym ujawnieniu.

Element

Szczegóły

Identyfikator CVE

CVE-2026-45247 (w europejskiej bazie ENISA: EUVD-2026-31837, w GitHub Advisory: GHSA-rg8p-9rpg-r32p)

Data dodania do CISA KEV

3 czerwca 2026

Termin usunięcia wg CISA (dueDate)

6 czerwca 2026 (dotyczy amerykańskich agencji federalnych)

Produkt

Mirasvit Full Page Cache Warmer dla Magento 2 (pakiet mirasvit/module-cache-warmer)

Wersje zagrożone

Wszystkie wydania poniżej 1.11.12

Wersje bezpieczne

1.11.12 (wydana 25 maja 2026) i nowsze; najnowsza w dniu publikacji to 1.11.16 z 7 września 2026

Typ podatności

Deserializacja niezaufanych danych (CWE-502), wstrzyknięcie obiektu PHP prowadzące do zdalnego wykonania kodu bez uwierzytelnienia

Ocena CVSS

9,8 w CVSS 3.1 oraz 9,3 w CVSS 4.0, obie KRYTYCZNE, obie wystawione przez VulnCheck

Użycie w kampaniach ransomware (KEV)

Nieznane (Unknown)

Kilka faktów wartych zapamiętania:

  • 🔴 Lukę wykryła firma Sansec 24 kwietnia 2026, producenta powiadomiono 21 maja, poprawkę wydano 25 maja, a numer CVE i opis opublikowano 26 maja 2026.
  • 🟠 Amerykańska baza NVD nadała wpisowi status przeanalizowanego i opisała zakres wersji, ale nie wystawiła własnej oceny CVSS. Obie liczby pochodzą od VulnCheck, który zarejestrował zgłoszenie.
  • 🟡 Wersja 1.11.16 z 7 września 2026 według dziennika zmian producenta usuwa dwa kolejne problemy bezpieczeństwa związane z ciasteczkiem sesji rozgrzewania i nieuprawnionym czyszczeniem pamięci podręcznej. Nie znaleźliśmy dla nich osobnych numerów CVE.

2. O co chodzi w prostych słowach?

Wyobraź sobie hotel, w którym gość przy każdym wejściu okazuje na recepcji kartkę z opisem swojego pokoju. Recepcjonista nie sprawdza, kto tę kartkę wypisał. Czyta ją i wykonuje dokładnie to, co na niej stoi: wydaje klucz, otwiera zaplecze, wpuszcza do sejfu. Hotel zakładał, że kartki wypisuje on sam, więc nie przyszło mu do głowy, że gość może przynieść własną.

Tak działało rozszerzenie Mirasvit. Do swojej pracy używa ciasteczka o nazwie CacheWarmer, a ciasteczko zawsze przychodzi od odwiedzającego. Wtyczka traktowała jego zawartość jak własne, zaufane dane i zamieniała ją z powrotem w działające elementy programu. Kto przygotował odpowiednią zawartość, ten decydował, co serwer zrobi.

Słowniczek: Ciasteczko (cookie) to mała porcja danych, którą serwer zapisuje w przeglądarce, a przeglądarka odsyła przy kolejnych wizytach. Odwiedzający może ją dowolnie zmienić.
Słowniczek: Deserializacja to odtworzenie obiektu programu z zapisanego ciągu znaków. W PHP robi to funkcja unserialize, która na danych od obcych jest niebezpieczna.
Słowniczek: Łańcuch gadżetów to zestaw zwykłych fragmentów kodu obecnych już w Magento i jego bibliotekach, które odpowiednio ułożone prowadzą do wykonania polecenia na serwerze.

Scenariusz

Normalnie

Z podatnością

Kto może wysłać ciasteczko

Każdy odwiedzający, ale sklep go tylko odczytuje

Każdy odwiedzający, a sklep wykonuje jego zawartość

Czy trzeba mieć konto

Do panelu admina tak

Nie, wystarczy wejść na dowolną stronę sklepu

Co widzi klient

Szybki, poprawny sklep

Ten sam wygląd, ale kod przy kasie może być podmieniony

Kto kontroluje serwer

Firma i jej agencja

Osoba, która wysłała spreparowane ciasteczko

Kto kontroluje dane klientów

Sklep

Napastnik z dostępem do bazy i plików

3. Jak hakerzy to wykorzystują?

To luka z najgorszej kategorii: zdalna, bez logowania, bez udziału klienta czy pracownika. CISA oceniła ją jako możliwą do zautomatyzowania, a wpływ techniczny jako całkowity. W praktyce oznacza to skanowanie internetu i wysyłanie tego samego żądania do tysięcy sklepów naraz.

Timeline ataku:

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Etap

Czas

Akcja hakerów

Wynik

1

T+0 min

Automatyczne skanowanie sklepów na Magento i rozpoznanie rozszerzeń Mirasvit

Lista potencjalnych celów

2

T+1 min

Wysłanie jednego żądania z ciasteczkiem CacheWarmer zawierającym spreparowany obiekt PHP

Serwer wykonuje kod napastnika

3

T+2 min

Test w stylu polecenia echo lub sleep 5, żeby potwierdzić, że kod działa

Sklep oznaczony jako podatny

4

T+10 min

Wgranie ukrytego pliku PHP (webshell) w katalogu dostępnym z internetu

Trwały dostęp nawet po aktualizacji wtyczki

5

T+30 min

Podmiana skryptu na stronie płatności (skimmer) lub eksport bazy klientów

Kradzież danych kart i danych osobowych

6

Dni lub tygodnie

Ciche zbieranie danych, sprzedaż dostępu innym grupom

Reklamacje płatności, zgłoszenia do UODO

Etapy 1-3 są potwierdzone: Imperva opisała ładunki testowe z poleceniami echo i sleep 5 oparte na klasach biblioteki Monolog. Etapy 4-6 to typowy dalszy przebieg ataków na sklepy Magento, a nie opis konkretnego incydentu z tą luką.

Konkretne scenariusze zagrożenia:

  • 🔴 Scenariusz 1: Skimmer w koszyku. Napastnik dopisuje kilka linii do skryptu strony zamówienia. Klient płaci jak zwykle, a dane karty trafiają równolegle na obcy serwer. Sklep dowiaduje się o tym od banku albo operatora płatności.
  • 🔴 Scenariusz 2: Wyciek bazy klientów. Z serwera sklepu można odczytać plik konfiguracyjny z hasłem do bazy danych, a z bazy: imiona, adresy, telefony, historię zamówień. To naruszenie ochrony danych osobowych z obowiązkiem zgłoszenia w 72 godziny.
  • 🔴 Scenariusz 3: Tylne drzwi, które przeżywają aktualizację. Sklep instaluje wersję 1.11.12, ale webshell wgrany tydzień wcześniej zostaje. Włamanie trwa dalej, a zespół jest przekonany, że problem zamknięto.

4. Dlaczego to ryzyko dla Twojej firmy?

Sklep internetowy jest wyjątkowy z jednego powodu: to na jego stronie klienci wpisują dane płatnicze. Kto zmienia kod na serwerze, zmienia też to, co klient widzi przy kasie. Adres jest prawidłowy, certyfikat działa, strona wygląda jak wczoraj.

Obszar biznesu

Potencjalny wpływ

Czas do wystąpienia

Koszty szacunkowe

Operacyjny

Wyłączenie sklepu na czas analizy i odtworzenia serwera

Godziny od wykrycia

5 000-50 000 PLN za dobę utraconej sprzedaży w małym i średnim sklepie

Bezpieczeństwo danych

Kradzież danych klientów i danych kart przez skimmer

Minuty od przejęcia

20 000-150 000 PLN za analizę powłamaniową i obsługę zgłoszeń

Finansowy

Chargebacki, kary od organizacji płatniczych, wstrzymanie rozliczeń przez operatora

Tygodnie

10 000-200 000 PLN, zależnie od liczby skradzionych kart

Reputacyjny

Powiadomienie klientów o wycieku, gorsze opinie, spadek konwersji

Dni i tygodnie

Spadek sprzedaży rzędu 10-30% przez kilka miesięcy

Prawny

Postępowanie UODO, roszczenia klientów

Miesiące

Kary RODO do 20 mln EUR lub 4% rocznego światowego obrotu

Kwoty w tabeli to szacunki poglądowe dla małej i średniej firmy, a nie dane z konkretnego incydentu z tą luką; jedynie górny limit kar RODO jest faktem prawnym.

Najdroższa część incydentu to zwykle nie odtworzenie strony, tylko ustalenie, od kiedy trwało włamanie. Jeśli logi serwera są przechowywane przez 7-14 dni, a atak zaczął się wcześniej, nie da się dowieść, ilu klientów dotyczył. Przyjmuje się wtedy wariant najgorszy.

Macierz ryzyka (pozycja CVE-2026-45247 dla sklepu z podatną wersją wtyczki):

Wpływ 5 | ■ ← CVE-2026-45247 (KRYTYCZNA) 4 | ■ ■ 3 | ■ ■ ■ 2 | ■ ■ ■ ■ 1 | ■ ■ ■ ■ +--------------------- 1 2 3 4 5 Prawdopodobieństwo Wpływ 5: pełne przejęcie serwera, dane klientów i płatności Prawdopodobieństwo 5: brak logowania, automatyzacja, ataki potwierdzone przez CISA

5. Co musisz zrobić natychmiast?

Termin wyznaczony przez CISA minął 6 czerwca 2026. Jeżeli sklep do dziś, 14 września 2026, działa na wersji poniżej 1.11.12, przez ponad trzy miesiące był wystawiony na aktywnie wykorzystywaną lukę. Wtedy sama aktualizacja nie wystarczy, potrzebne jest też sprawdzenie, czy nie doszło do włamania.

Priorytet

Działanie

Termin

Odpowiedzialny

Status

🔴 NATYCHMIAST

Sprawdzić, czy moduł Mirasvit_CacheWarmer jest zainstalowany i w jakiej wersji (composer show mirasvit/module-cache-warmer)

Dzisiaj

Agencja lub IT Manager

☐

🔴 NATYCHMIAST

Zaktualizować do 1.11.16 (minimum 1.11.12) albo wyłączyć moduł poleceniem bin/magento module:disable Mirasvit_CacheWarmer

Dzisiaj

Developer Magento

☐

🔴 NATYCHMIAST

Zablokować na WAF lub serwerze żądania z ciasteczkiem CacheWarmer, którego wartość zaczyna się od CacheWarmer:Tz, CacheWarmer:Qz lub CacheWarmer:YT

Dzisiaj

Administrator serwera

☐

🟠 PILNIE

Przeszukać logi pod kątem tego wzorca ciasteczka od 26 maja 2026

24-48h

IT Security

☐

🟠 PILNIE

Poszukać nieznanych plików PHP w katalogach pub i pub/media oraz zmian w skryptach strony zamówienia

24-48h

Incident Response

☐

🟠 PILNIE

Jeśli są ślady włamania: zmienić hasła do bazy, klucz szyfrowania Magento, konta admina i klucze API płatności

Do jutra po wykryciu

Developer Magento i właściciel

☐

🟡 WAŻNIE

Wydłużyć przechowywanie logów serwera do co najmniej 90 dni

W ciągu tygodnia

Administrator serwera

☐

🟡 WAŻNIE

Uruchomić stały monitoring integralności plików sklepu

W ciągu tygodnia

SOC lub agencja

☐

Jeśli aktualizacja nie jest od razu możliwa:

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Czasowa miara ochronna

Efektywność

Łatwość wdrożenia

Wyłączenie modułu Cache Warmer (sklep zwalnia, ale działa)

Około 99%

Wysoka

Reguła WAF lub nginx odrzucająca podejrzane ciasteczko CacheWarmer

Około 85-90%

Średnia

Usuwanie ciasteczka CacheWarmer z żądań na poziomie serwera proxy

Około 90%

Średnia

Ograniczenie dostępu do IP

Nie ma zastosowania, sklep musi być publiczny

Nie dotyczy

Izolacja serwera sklepu od reszty sieci firmy

Nie chroni sklepu, ogranicza skutki

Niska

Wartości efektywności to orientacyjne szacunki redakcji, a nie pomiary. Jedynym rozwiązaniem uznanym przez producenta i CISA jest aktualizacja albo rezygnacja z produktu.

Porównanie przed i po:

Stan

Przed działaniami

Po działaniach

Wersja wtyczki

Nieznana, prawdopodobnie poniżej 1.11.12

1.11.16 potwierdzona na produkcji

Wiedza o włamaniu

Brak

Przejrzane logi i pliki, wynik udokumentowany

Logi

7-14 dni

Co najmniej 90 dni

Lista rozszerzeń

W głowie poprzedniej agencji

Plik z wersjami i datą, aktualizowany co kwartał

6. Kontekst i skala zagrożenia

Aspekt

Informacja

Czy jest wykorzystywana?

TAK, potwierdzone wpisem w CISA KEV z 3 czerwca 2026; Imperva opisała próby ataków po ujawnieniu

Grupy przestępcze

Brak publicznie potwierdzonych danych, sprawcy nie zostali wskazani

Kampanie ransomware

Brak publicznie potwierdzonych danych, CISA oznacza jako Unknown

Ocena CVSS

9,8/10 w CVSS 3.1 i 9,3/10 w CVSS 4.0 (KRYTYCZNA), źródło: VulnCheck

EPSS

0,2755 (percentyl około 0,98) według FIRST z 13 września 2026

PoC dostępny publicznie?

Na GitHubie są repozytoria opisane jako PoC (od 4 i 9 czerwca 2026); nie weryfikowaliśmy ich działania

Liczba narażonych sklepów

Sansec wykrył około 6 000 sklepów z rozszerzeniami Mirasvit; realna liczba jest prawdopodobnie wyższa, bo część ukrywa CDN

Liczba skutecznie zaatakowanych firm

Brak publicznie potwierdzonych danych

Cele wg Imperva

Głównie serwisy z branży gier i biznesowe; najczęściej USA, Wielka Brytania, Francja, Australia

Kto co ustalił, czyli skąd pochodzą liczby:

Źródło

Co wnosi

Czego nie mówi

Sansec (odkrywca)

Mechanizm luki, oś czasu zgłoszenia, około 6 000 sklepów z rozszerzeniami Mirasvit, wzorzec ciasteczka ataku

Nie opisuje potwierdzonych włamań

VulnCheck (wystawca CVE)

Numer CVE, oceny CVSS 9,8 i 9,3, zakres wersji poniżej 1.11.12

Brak danych o atakach

NVD

Status przeanalizowany, opis zakresu wersji, powiązanie z KEV

Brak własnej oceny CVSS, powtarza oceny VulnCheck

CISA KEV

Potwierdzenie wykorzystania, termin 6 czerwca 2026, ocena: automatyzowalna, wpływ całkowity

Nie wskazuje sprawców ani liczby ofiar

Imperva

Obserwowane próby ataków, ładunki testowe, kraje i branże celów

Nie podaje liczby skutecznych przejęć

Warto skorygować jedno częste odczytanie. Trzydniowy termin w katalogu CISA wygląda na wyjątkowo ostry, ale w 2026 roku to najczęstszy termin: dostało go około 100 z 225 luk dodanych do KEV. Nie jest więc sygnałem wyjątkowości, tylko tego, że CISA traktuje aktywnie atakowane luki bez uwierzytelnienia jako sprawę na dni, nie tygodnie.

Druga uwaga dotyczy wskaźnika EPSS. Wartość 0,27 brzmi niegroźnie, ale oznacza lukę bardziej atakowaną niż około 98% wszystkich rejestrowanych podatności. EPSS opisuje ruch w całym internecie. Dla sklepu z podatną wersją pytanie brzmi nie czy, tylko kiedy jego adres trafi na listę skanera.

Linia czasu incydentu:

2026-04-24: Sansec wykrywa lukę w Mirasvit Cache Warmer 2026-05-21: Powiadomienie producenta 2026-05-25: Mirasvit wydaje wersję 1.11.12 z poprawką 2026-05-26: Publikacja CVE-2026-45247 (VulnCheck) i raportu Sansec 2026-06-03: CISA dodaje lukę do katalogu KEV, potwierdzone ataki 2026-06-06: Termin usunięcia luki wyznaczony przez CISA 2026-06-09: Na GitHubie pojawia się repozytorium opisane jako działający PoC 2026-09-07: Mirasvit wydaje 1.11.16 z dwiema kolejnymi poprawkami bezpieczeństwa 2026-09-14: TUTAJ JESTEŚMY - ponad 100 dni po terminie CISA, akcja natychmiast!

7. Bezpośredni link do działania

Poprawka i dziennik zmian producenta: https://mirasvit.com/package/changelog/?package=mirasvit/module-cache-warmer

Opis techniczny i wskaźniki ataku od odkrywcy: https://sansec.io/research/mirasvit-cache-warmer-object-injection

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

✓

Zadanie

Kto

Deadline

☐

Pobrać wersję 1.11.16 przez Composer z repozytorium Mirasvit

Developer Magento

DZISIAJ

☐

Zainstalować na kopii sklepu i przejść ścieżkę: produkt, koszyk, płatność

QA lub agencja

DZISIAJ

☐

Poinformować obsługę klienta i marketing o krótkim oknie serwisowym

Project Manager

DZISIAJ

☐

Wdrożyć aktualizację na produkcji i wyczyścić cache

DevOps

DO JUTRA

☐

Przeszukać logi od 26 maja 2026 pod kątem ciasteczka CacheWarmer:Tz, Qz lub YT

SOC lub administrator

DO JUTRA

☐

Porównać pliki sklepu z repozytorium kodu, szukając obcych plików PHP i zmian w szablonach kasy

Developer Magento

DO JUTRA

☐

Potwierdzić na piśmie wersję modułu na produkcji i wynik przeglądu

IT Manager

DO JUTRA

☐

W razie śladów włamania: ocena obowiązku zgłoszenia do UODO w 72 godziny

Właściciel i IOD

72h od wykrycia

Matryca decyzyjna dla właściciela sklepu:

Sytuacja

Decyzja

Uzasadnienie

Moduł nie jest zainstalowany

🟡 Zapisać wynik, wrócić do tematu przy kwartalnym przeglądzie

Brak narażenia na tę lukę

Wersja 1.11.12 lub nowsza od początku czerwca

🟠 Aktualizacja do 1.11.16 w normalnym trybie, szybki przegląd logów

Luka zamknięta, ale okno 25 maja - 3 czerwca warto sprawdzić

Wersja poniżej 1.11.12 do dziś

🔴 Aktualizacja lub wyłączenie dziś i pełny przegląd powłamaniowy

Ponad 100 dni narażenia na aktywne ataki

Ślady ciasteczka ataku w logach

🔴 Tryb incydentu: zewnętrzna analiza, rotacja haseł i kluczy, ocena RODO

Możliwe przejęcie serwera i danych klientów

8. Pytania do Twojego zespołu IT

Trudność bywa gdzie indziej niż w samej aktualizacji. Sklepy na Magento często zmieniają opiekunów: jedna agencja buduje sklep, druga go utrzymuje, a wtyczki przyspieszające instaluje się w ramach jednorazowego zlecenia. Potem nikt o nich nie pamięta, bo działają cicho. Sansec zaznacza też, że moduł bywa dołączany do innych pakietów Mirasvit, więc może być w sklepie, choć nikt go świadomie nie kupował.

#

Pytanie

Odpowiedź

Priorytet

1

Czy mamy zainstalowany moduł Mirasvit_CacheWarmer, także jako część innego pakietu Mirasvit?

TAK / NIE

🔴

2

Jaka wersja pakietu mirasvit/module-cache-warmer działa dziś na produkcji?

Numer z composer show

🔴

3

Czy w logach od 26 maja 2026 są żądania z ciasteczkiem CacheWarmer zaczynającym się od Tz, Qz lub YT?

TAK / NIE

🔴

4

Jak długo przechowujemy logi serwera WWW?

Liczba dni

🟠

5

Czy mamy pełną listę modułów Magento z wersjami w formie pliku z datą?

TAK / NIE

🟠

6

Czy umowa z agencją obejmuje aktualizacje bezpieczeństwa rozszerzeń w terminie dni, a nie miesięcy?

TAK / NIE

🟠

7

Czy mamy kontakt do operatora płatności i IOD na wypadek incydentu?

TAK / NIE

🟡

8

Czy kopie zapasowe sklepu są sprzed 25 maja 2026 i czy były testowane?

TAK / NIE

🟡

Najbardziej wartościowa prośba do osoby utrzymującej sklep brzmi konkretnie: pełna lista modułów z numerami wersji, w pliku, z datą wykonania. Magento udostępnia ją w kilka minut. Ten dokument przyda się przy każdej kolejnej luce, nie tylko przy tej.

Pytania diagnostyczne dla managera:

  • ✓ Kto u nas jest właścicielem technicznym sklepu dzisiaj, a nie w dniu jego uruchomienia?
  • ✓ Kiedy ostatnio ktoś przejrzał listę rozszerzeń i usunął te, których nie używamy?
  • ✓ Czy wiemy, jak szybko zauważylibyśmy podmieniony skrypt na stronie płatności?
  • ✓ Czy mamy przećwiczony plan na wypadek wycieku danych klientów, z terminem 72 godzin na zgłoszenie?
  • ✓ Czy pracownicy obsługi klienta wiedzą, że seria reklamacji płatności może być pierwszym objawem włamania?
Podsumowanie: Sprawdź wersję wtyczki dziś. Poniżej 1.11.12 to aktualizacja lub wyłączenie od razu i przegląd logów od 26 maja 2026, bo sama łatka nie usuwa skutków wcześniejszego włamania.
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ń.