
Wprowadzenie do problemu / definicja
CVE-2025-4123 to istotna podatność bezpieczeństwa w Grafanie, wynikająca z połączenia błędu typu path traversal po stronie klienta oraz mechanizmu open redirect. Choć oficjalnie problem klasyfikowany jest przede wszystkim jako luka XSS, w określonych warunkach wdrożeniowych może prowadzić również do scenariusza SSRF, umożliwiającego dostęp do zasobów dostępnych wyłącznie z poziomu infrastruktury wewnętrznej.
Szczególne znaczenie ma to w środowiskach, w których aktywowano dostęp anonimowy lub zainstalowano komponent Grafana Image Renderer. W takich konfiguracjach pozornie ograniczona podatność przestaje być jedynie problemem warstwy przeglądarkowej i może stać się punktem wejścia do głębszej eksploracji sieci.
W skrócie
Podatność obejmuje wspierane wersje Grafany, a publiczne informacje wskazują, iż dotyczyła także starszych, niewspieranych wydań co najmniej od linii 8.x. Mechanizm ataku opiera się na wymuszeniu przekierowania do zewnętrznego zasobu hostującego złośliwy frontend plugin lub, w wariancie z rendererem, na wykorzystaniu otwartego przekierowania do przeprowadzenia SSRF.
- Problem dotyczy m.in. wersji Grafana 11.6.0 i starszych podatnych wydań.
- Producent opublikował poprawki bezpieczeństwa dla kilku aktywnie wspieranych gałęzi.
- Naprawione wersje to: 10.4.18+security-01, 11.2.9+security-01, 11.3.6+security-01, 11.4.4+security-01, 11.5.4+security-01, 11.6.1+security-01 oraz 12.0.0+security-01.
- Publiczny proof-of-concept obniżył próg wejścia dla potencjalnych atakujących.
Kontekst / historia
Luka została publicznie ujawniona w maju 2025 roku. Z dostępnych informacji wynika, iż zgłoszenie pochodziło z programu bug bounty, a proces publikacji poprawek został przyspieszony po tym, jak szczegóły dotyczące podatności zaczęły krążyć publicznie wcześniej, niż planowano.
Producent opisał problem jako wysokiego ryzyka XSS, jednak społeczność bezpieczeństwa gwałtownie wskazała, iż praktyczny wpływ może być szerszy. W przypadku określonych komponentów i ustawień wdrożeniowych ta sama luka może zostać wykorzystana do wygenerowania żądań z serwera aplikacyjnego do zasobów wewnętrznych, co znacząco podnosi jej wagę operacyjną.
Analiza techniczna
Rdzeń podatności wiąże się z nieprawidłową obsługą ścieżek w publicznych endpointach renderowania, takich jak render/public, oraz w powiązanych ścieżkach publicznych. Atakujący może przygotować specjalnie zakodowany adres zawierający elementy traversal, które po przetworzeniu przez aplikację skutkują nieoczekiwanym przekierowaniem lub załadowaniem zasobu spoza zaufanego kontekstu.
W klasycznym scenariuszu efektem jest XSS. Ofiara zostaje nakłoniona do otwarcia spreparowanego adresu, który prowadzi do pobrania zewnętrznego frontend pluginu i wykonania arbitralnego kodu JavaScript w przeglądarce. To może skutkować przejęciem sesji, kradzieżą tokenów, wykonywaniem działań w kontekście zalogowanego użytkownika oraz dostępem do danych widocznych w panelu.
Znacznie poważniejszy wariant pojawia się tam, gdzie działa Grafana Image Renderer. W takim przypadku open redirect może zostać użyty do generowania żądań po stronie serwera do wskazanych hostów. Taki model odpowiada definicji SSRF i może umożliwić odczyt odpowiedzi z usług wewnętrznych, lokalnych interfejsów administracyjnych, endpointów metadanych chmurowych lub innych systemów niedostępnych bezpośrednio z Internetu.
Skuteczność ataku zależy również od konfiguracji ochronnej. Domyślna polityka Content-Security-Policy może ograniczać niektóre warianty XSS, zwłaszcza w obszarze połączeń do niezaufanych źródeł, ale nie eliminuje zagrożenia całkowicie. Ryzyko rośnie, jeżeli środowisko dopuszcza anonimowy dostęp, osłabiono polityki bezpieczeństwa lub rozszerzono funkcjonalność o dodatkowe komponenty zwiększające powierzchnię ataku.
Konsekwencje / ryzyko
Wpływ podatności zależy od sposobu wdrożenia Grafany i poziomu ekspozycji instancji. W podstawowym wariancie organizacja narażona jest na skutki typowe dla XSS, czyli przejęcie sesji operatorów i administratorów, wykonanie nieautoryzowanych działań oraz dostęp do dashboardów, źródeł danych i informacji prezentowanych w interfejsie.
W scenariuszu SSRF konsekwencje mogą być znacznie poważniejsze, ponieważ atakujący zyskuje możliwość użycia aplikacji jako pośrednika do komunikacji z zasobami, które normalnie nie są osiągalne z zewnątrz.
- Odczyt odpowiedzi z usług wewnętrznych.
- Mapowanie segmentów sieci niedostępnych publicznie.
- Próby dostępu do metadanych instancji chmurowych.
- Wykorzystanie Grafany jako punktu pośredniego do dalszego rozpoznania środowiska.
Najbardziej zagrożone pozostają środowiska, w których jednocześnie występują publiczna ekspozycja usługi, szeroka łączność wychodząca, aktywny Image Renderer oraz osłabione mechanizmy ochronne po stronie aplikacji lub reverse proxy.
Rekomendacje
Najważniejszym działaniem pozostaje natychmiastowa aktualizacja do wersji zawierającej poprawkę bezpieczeństwa. Organizacje, które nie mogą przeprowadzić aktualizacji od razu, powinny wdrożyć działania tymczasowo ograniczające możliwość wykorzystania podatności.
- Zaktualizować Grafanę do jednej z wersji naprawionych adekwatnych dla używanej gałęzi.
- Wyłączyć anonymous access, jeżeli nie jest niezbędny biznesowo.
- Zweryfikować, czy Grafana Image Renderer jest zainstalowany i czy jego użycie jest rzeczywiście konieczne.
- Ograniczyć ruch wychodzący z serwera Grafany wyłącznie do zaufanych adresów i usług.
- Zablokować dostęp do sieci wewnętrznych oraz metadanych chmurowych na poziomie firewalla lub proxy.
- Przeanalizować logi aplikacyjne, reverse proxy i systemy DNS pod kątem nietypowych żądań wychodzących.
- Sprawdzić politykę CSP i unikać jej osłabiania bez wyraźnej potrzeby.
- Przetestować publiczne endpointy renderowania oraz ścieżki /public i /render/public pod kątem anomalii.
Z perspektywy zespołów SOC warto także przygotować reguły detekcyjne wychwytujące nietypowo zakodowane sekwencje w URL, anomalie w żądaniach do endpointów renderujących oraz połączenia do domen wykorzystywanych w testach OAST lub kontrolowanych przez atakujących.
Podsumowanie
CVE-2025-4123 pokazuje, iż pozornie ograniczona podatność aplikacyjna może w praktyce prowadzić do znacznie poważniejszych skutków niż sugeruje sama klasyfikacja. W przypadku Grafany połączenie path traversal i open redirect tworzy realne ryzyko XSS, a w określonych konfiguracjach również SSRF z możliwością odczytu danych z sieci wewnętrznej.
Dla organizacji korzystających z Grafany najważniejsze znaczenie mają szybkie aktualizacje, ograniczenie dostępu anonimowego, kontrola ruchu wychodzącego oraz weryfikacja komponentów dodatkowych. To właśnie konfiguracja środowiska decyduje, czy luka pozostanie incydentem ograniczonym do warstwy przeglądarkowej, czy stanie się punktem wyjścia do dalszej kompromitacji infrastruktury.
Źródła
- https://www.exploit-db.com/exploits/52491
- https://grafana.com/security/security-advisories/cve-2025-4123
- https://grafana.com/blog/2025/05/21/grafana-security-release-high-severity-security-fix-for-cve-2025-4123/
- https://nvd.nist.gov/vuln/detail/CVE-2025-4123
- https://github.com/advisories/GHSA-q53q-gxq9-mgrj


