
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
CVE-2026-26980 to krytyczna podatność typu SQL injection w Ghost CMS, obejmująca interfejs Content API. Jej znaczenie wynika z faktu, że może zostać wykorzystana bez uwierzytelnienia do odczytu danych z bazy, a następnie do pozyskania klucza Admin API, co otwiera drogę do nieautoryzowanej modyfikacji treści publikowanych w serwisie.
W praktyce problem nie ogranicza się do naruszenia samego systemu zarządzania treścią. Przejęta witryna może zostać wykorzystana jako zaufany nośnik złośliwego kodu, służący do dalszych ataków na odwiedzających.
W skrócie
Badacze bezpieczeństwa opisali aktywną kampanię, w której cyberprzestępcy wykorzystują CVE-2026-26980 do przejmowania instancji Ghost CMS i osadzania złośliwego kodu JavaScript w artykułach oraz elementach stron. Celem operacji jest uruchamianie ataków ClickFix opartych na fałszywych komunikatach CAPTCHA i nakłanianiu użytkowników do ręcznego uruchamiania poleceń w systemie Windows.
Według opublikowanych informacji kampania objęła ponad 700 witryn z różnych sektorów, w tym edukacji, mediów, fintechu, SaaS i cyberbezpieczeństwa. Luka została załatana w wersji 6.19.1, ale nieaktualne lub niewłaściwie oczyszczone środowiska nadal mogą pozostawać zagrożone.
Kontekst / historia
Ghost CMS jest szeroko stosowany przez media, blogi technologiczne, organizacje eksperckie i firmy publikujące treści online. Z perspektywy napastników stanowi atrakcyjny cel, ponieważ kompromitacja jednej instancji pozwala nie tylko ingerować w publikacje, lecz także atakować użytkowników odwiedzających legalną i rozpoznawalną domenę.
Opisana kampania została wykryta na początku maja 2026 roku i miała charakter szeroko zakrojonego zatruwania witryn. Publiczne analizy wskazują, że część serwisów została skażona w krótkim czasie, co sugeruje zautomatyzowane skanowanie podatnych instancji oraz szybkie wykorzystanie luki po jej ujawnieniu.
To ważna zmiana w sposobie postrzegania ryzyka. W tym scenariuszu nie chodzi wyłącznie o wyciek danych z CMS, ale o przejęcie wiarygodnej platformy publikacyjnej i użycie jej jako etapu pośredniego w kampanii malware oraz socjotechniki.
Analiza techniczna
Podatność CVE-2026-26980 dotyczy Content API i umożliwia nieautoryzowany odczyt danych z bazy danych. Najpoważniejszym skutkiem jest możliwość uzyskania klucza Admin API, dzięki któremu atakujący może wywoływać funkcje administracyjne aplikacji i masowo modyfikować istniejące treści.
W analizowanych incydentach intruzi wykorzystywali przejęty Admin API do dopisywania złośliwych loaderów JavaScript do artykułów lub elementów stron. Kod ten pełnił rolę pierwszego etapu infekcji i pobierał właściwy ładunek z zewnętrznej infrastruktury. Taki model zapewnia napastnikom dużą elastyczność, ponieważ pozwala zmieniać końcowy payload bez ponownego naruszania każdej witryny osobno.
Kolejny etap obejmował filtrowanie ruchu i profilowanie odwiedzającego. Złośliwy skrypt zbierał informacje o przeglądarce oraz środowisku użytkownika, a następnie decydował, czy uruchomić dalszą fazę ataku. To klasyczny cloaking, którego celem jest ukrywanie faktycznego działania przed systemami analizy, crawlerami i narzędziami bezpieczeństwa.
Jeżeli użytkownik został uznany za wartościowy cel, strona prezentowała fałszywy ekran CAPTCHA osadzony w ramce. W rzeczywistości był to element kampanii ClickFix, zachęcający ofiarę do skopiowania i uruchomienia zakodowanego polecenia w oknie „Uruchom” systemu Windows. Dzięki temu wykonanie szkodliwego działania zostaje przeniesione na użytkownika, co pomaga ominąć część tradycyjnych mechanizmów ochronnych.
Dalszy łańcuch infekcji prowadził do pobrania archiwum ZIP, uruchomienia skryptu wsadowego, a następnie wykonania polecenia PowerShell pobierającego kolejne komponenty z serwera zdalnego. W zależności od wariantu wykorzystywano między innymi pliki DLL uruchamiane przez rundll32.exe lub ładunki JavaScript służące do osadzenia końcowego programu w systemie ofiary.
Konsekwencje / ryzyko
Ryzyko związane z CVE-2026-26980 obejmuje kilka warstw. Pierwsza to kompromitacja samej witryny, czyli nieautoryzowana zmiana treści, utrata integralności publikacji oraz możliwość osadzania złośliwego kodu. Druga dotyczy użytkowników końcowych, którzy mogą zostać nakłonieni do uruchomienia poleceń prowadzących do instalacji malware.
Trzeci poziom ma charakter reputacyjny i operacyjny. Zainfekowany serwis może zostać oznaczony jako niebezpieczny przez przeglądarki, systemy bezpieczeństwa i dostawców usług filtrujących ruch. Dla organizacji oznacza to ryzyko utraty zaufania odbiorców, partnerów i klientów, a w niektórych branżach również obowiązki związane z notyfikacją incydentu.
Atak jest szczególnie niebezpieczny również dlatego, że jego monetyzacja jest relatywnie prosta. Po przejęciu CMS napastnik może wykorzystać istniejący ruch witryny do kierowania części użytkowników do kolejnych etapów kampanii, bez konieczności natychmiastowego wykradania danych.
Rekomendacje
Podstawowym krokiem powinno być natychmiastowe zaktualizowanie Ghost CMS do wersji 6.19.1 lub nowszej. Jeżeli jednak istnieje podejrzenie wcześniejszej kompromitacji, sama aktualizacja nie jest wystarczająca, ponieważ klucze administracyjne i inne sekrety mogły już zostać przejęte.
- zaktualizować Ghost CMS do bezpiecznej wersji,
- obrócić wszystkie klucze API, tokeny, hasła i sekrety aplikacyjne,
- przeprowadzić przegląd treści, motywów i szablonów pod kątem wstrzykniętego JavaScript,
- sprawdzić logi aplikacyjne, reverse proxy, WAF i CDN pod kątem nietypowych wywołań API oraz masowych modyfikacji treści,
- zweryfikować integralność bazy danych i opublikowanych wpisów,
- przeszukać środowisko pod kątem wskaźników kompromitacji związanych z loaderami, cloakingiem i nietypowymi iframe,
- wdrożyć monitoring zmian treści oraz alerty dla operacji wykonywanych przez Admin API,
- poinformować użytkowników, jeśli istnieje ryzyko kontaktu ze złośliwą zawartością.
W dłuższej perspektywie warto ograniczyć ekspozycję interfejsów API, stosować WAF z regułami wykrywającymi SQL injection, monitorować integralność treści oraz regularnie skanować aplikacje webowe pod kątem podatności. Równie istotna jest edukacja użytkowników, ponieważ legalna witryna nie powinna wymagać uruchamiania poleceń systemowych w celu potwierdzenia, że odwiedzający jest człowiekiem.
Podsumowanie
CVE-2026-26980 pokazuje, jak groźne może być połączenie podatności aplikacyjnej z nadużyciem legalnych funkcji administracyjnych CMS. W tym przypadku skutkiem nie był jedynie incydent po stronie jednej witryny, ale masowa kampania zatruwania treści, wykorzystująca zaufane serwisy do prowadzenia ataków ClickFix i dalszej dystrybucji malware.
Dla administratorów Ghost CMS kluczowe są trzy działania: szybkie łatanie, pełna rotacja sekretów po incydencie oraz dokładna analiza integralności treści i logów. Organizacje, które ograniczą reakcję wyłącznie do aktualizacji systemu, mogą przeoczyć fakt, że napastnik uzyskał już trwały dostęp operacyjny do środowiska publikacyjnego.
Źródła
- Ghost CMS CVE-2026-26980 Exploited to Hijack 700+ Sites for ClickFix Attacks — https://thehackernews.com/2026/05/ghost-cms-cve-2026-26980-exploited-to.html
- Ghost Security Advisories — https://github.com/TryGhost/Ghost/security
- Ghost Developer Documentation: Admin API — https://docs.ghost.org/admin-api
- Ghost Developer Documentation: Content API — https://docs.ghost.org/content-api
- GitHub Repository: TryGhost/Ghost — https://github.com/TryGhost/Ghost