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ś.
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.
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
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
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.
Błąd w logowaniu platformy Kestra OSS pozwala bez hasła tworzyć i uruchamiać przepływy pracy, czyli wykonywać dowolne polecenia jako root. Microsoft opisał włamanie, CISA potwierdza ataki. Zaktualizuj dziś.
Błąd w NetScaler ADC i Gateway, opisany przez producenta jako awaria, pozwala według badaczy przejąć bramę VPN bez hasła. Publiczny kod istnieje, ataki trwają. Zaktualizuj urządzenia i sprawdź ślady włamania.
Luka o ocenie 10.0 w konsoli Cisco Secure Firewall Management Center pozwala ominąć logowanie i przejąć urządzenie. Cisco i CISA potwierdzają ataki. Zaktualizuj FMC i sprawdź ślady włamania.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.