Pomoc zdalna
alerty bezpieczeństwa

MLflow (CVE-2026-64849): serwer AI wynosi klucze chmurowe bez logowania

Luka SSRF w MLflow pozwala bez logowania zmusić serwer do odczytu usług wewnętrznych i metadanych chmury, a odpowiedź trafia do napastnika. CISA potwierdza ataki. Zaktualizuj do 3.15.0 i wymień poświadczenia.

  • Paweł Niedźwiecki
Paweł Niedźwiecki
17 września 2026 9 min czytania
Ramię robota obsługujące cyfrowy panel z analizą danych i symbolem AI

Ten alert jest dla zarządu, CTO i CFO firm, które rozwijają modele uczenia maszynowego lub rozwiązania AI i mają własny serwer MLflow, w tym w chmurze. Werdykt: jeśli serwer MLflow ma wersję starszą niż 3.15.0, zaktualizuj go dziś lub odetnij od internetu, a potem wymień poświadczenia chmurowe, które mógł zobaczyć, bo luka pozwala bez logowania odczytywać usługi wewnętrzne i klucze z metadanych chmury, a CISA potwierdza ataki.

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

Amerykańska agencja CISA 19 sierpnia 2026 roku dopisała podatność CVE-2026-64849 do katalogu KEV, czyli listy luk, o których ma dowody, że są wykorzystywane w prawdziwych atakach. Błąd tkwi w funkcji testowania powiadomień (webhooków) w MLflow, dostępnej bez logowania. Serwer sprawdzał tylko pierwotny adres, a potem szedł za przekierowaniem pod dowolny adres wskazany przez napastnika, także do usług wewnętrznych i usługi metadanych chmury, i zwracał napastnikowi pełną odpowiedź.

CISA wyznaczyła agencjom federalnym czternaście dni, do 2 września 2026 roku, w ramach nowej dyrektywy BOD 26-04, która ustala kolejność łatania według ryzyka i odsyła do wymagań dotyczących sprawdzenia śladów włamania. Termin minął dwa tygodnie temu. Poprawka jest dostępna od 31 lipca 2026 roku.

Element

Szczegóły

Identyfikator CVE

CVE-2026-64849 (GitHub: GHSA-7gwp-5pfp-969j; baza europejska: EUVD-2026-60473)

Data dodania do CISA KEV

2026-08-19

Termin naprawy wg CISA

2026-09-02 (14 dni od wpisu, BOD 26-04)

Produkt

MLflow, otwartoźródłowa platforma do prac nad modelami ML, LLM i agentami AI (serwer śledzenia)

Wersje zagrożone

Wszystkie wersje niższe niż 3.15.0. Zagrożone są maszyny uruchamiające serwer MLflow; sam pakiet używany jako biblioteka kliencka nie wystawia podatnej funkcji (wg Red Hat)

Wersje bezpieczne

3.15.0 (wydana 31 lipca 2026 roku) i nowsze

Typ podatności

Fałszowanie żądań po stronie serwera z pełnym odczytem odpowiedzi (SSRF), obejście walidacji adresu przez przekierowania; CWE-918

Ocena CVSS

GitHub (zgłaszający): 9.3 (CVSS 3.1, KRYTYCZNA, bez uprawnień), przejęta przez NVD i ENISA. Red Hat: 8.5 (WYSOKA, ocena robocza, zakłada konto, bo w OpenShift AI domyślnie działa uwierzytelnianie)

Różnica ocen ma praktyczne znaczenie: domyślny serwer MLflow nie ma uwierzytelniania, więc przy typowej instalacji obowiązuje wyższa ocena. Tam, gdzie przed serwerem działa logowanie, próg wejścia jest wyższy.

2. O CO CHODZI W PROSTYCH SŁOWACH?

Wyobraź sobie recepcjonistę, który ma zakaz doręczania przesyłek na adresy wewnętrzne firmy. Sprawdza kopertę, adres jest zewnętrzny, więc idzie go doręczyć. Na miejscu czeka kartka: „adresat przeniósł się do pokoju 12 na drugim piętrze”. Recepcjonista idzie do pokoju 12, zabiera stamtąd teczkę i oddaje ją nadawcy razem z opisem zawartości. Polecenie wykonał co do litery, a mimo to wyniósł dokumenty.

Tak działała luka w MLflow. Funkcja testowa sprawdzała adres podany przez napastnika i uznawała go za bezpieczny, bo prowadził na zewnętrzny serwer. Ten serwer odpowiadał przekierowaniem, a MLflow szedł dalej już bez kontroli, np. do usługi metadanych chmury, w której maszyna trzyma swoje poświadczenia. Na koniec zwracał napastnikowi kod i treść odpowiedzi, więc napastnik nie zgaduje, co jest za drzwiami, tylko czyta to na ekranie.

💡 MLflow to platforma do zapisywania eksperymentów, wersji modeli i wyników prac nad AI. Webhook (wywołanie zwrotne) to powiadomienie wysyłane przez serwer pod wskazany adres. Przekierowanie to odpowiedź serwera „idź pod inny adres”. SSRF to atak, w którym napastnik zmusza serwer do połączenia pod wybrany adres. Usługa metadanych chmury to wewnętrzny punkt, z którego maszyna wirtualna pobiera swoją konfigurację i poświadczenia. KEV (Known Exploited Vulnerabilities) to katalog CISA z lukami potwierdzonymi jako wykorzystywane w atakach.

Scenariusz

Normalnie

Z podatnością

Ktoś bez konta wywołuje test webhooka

Funkcja odrzuca adresy wewnętrzne

Przekierowanie omija kontrolę

Usługi wewnętrzne niedostępne z internetu

Widoczne tylko w sieci firmy

Odczytywane przez serwer MLflow na zlecenie napastnika

Poświadczenia maszyny w chmurze

Dostępne tylko dla tej maszyny

Mogą zostać odczytane z usługi metadanych

Odpowiedź z wewnętrznego zasobu

Nie opuszcza sieci

Zwracana napastnikowi w całości

Logi logowania

Pokazują próby dostępu

Brak śladów, bo nie było logowania

Rozwidlenie dróg ze znakiem wskazującym kierunekźródło: magnific.com

3. JAK HAKERZY TO WYKORZYSTUJĄ?

Poniżej typowy przebieg ataku dla tej klasy podatności. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. Atak wymaga dostępu sieciowego do serwera MLflow, więc najbardziej narażone są serwery wystawione do internetu, zwłaszcza w chmurze.

Etap

Czas

Akcja hakerów

Wynik

1. Skanowanie

T+0 min

Wyszukiwanie serwerów MLflow dostępnych z internetu

Lista celów

2. Przygotowanie przekierowania

T+5 min

Uruchomienie własnego serwera odpowiadającego przekierowaniem na adres wewnętrzny lub usługę metadanych

Pułapka gotowa

3. Test webhooka

T+10 min

Wywołanie funkcji testowej bez logowania z adresem własnego serwera

MLflow idzie za przekierowaniem

4. Odczyt poświadczeń

T+10 do 30 min

Odczyt kluczy i tokenów z usługi metadanych chmury oraz odpowiedzi usług wewnętrznych

Poświadczenia do zasobów chmurowych

5. Dostęp do danych

T+godziny

Logowanie do magazynów plików, baz, repozytoriów modeli zdobytymi kluczami

Dostęp do danych treningowych, modeli, kopii baz

6. Kradzież i dalszy atak

T+dni

Kopiowanie danych, dalszy ruch w chmurze firmy

Wyciek danych i własności intelektualnej

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Konkretne scenariusze zagrożenia

  • 🔴 Scenariusz 1: sklep z modelem rekomendacji ma MLflow w chmurze; napastnik odczytuje klucze z usługi metadanych i pobiera dane treningowe oraz kopię bazy zamówień, z której powstały, nie łamiąc żadnego hasła.
  • 🔴 Scenariusz 2: firma rozwijająca własny model językowy traci zapisane w MLflow wersje modeli i wyniki eksperymentów, czyli swoją kluczową własność intelektualną.
  • 🔴 Scenariusz 3: zespół aktualizuje MLflow do 3.15.0, ale nie wymienia poświadczeń chmurowych, które wyciekły wcześniej, więc napastnik nadal ma dostęp do zasobów.

4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?

Serwery do prac nad AI często stawia się szybko, przez zespoły badawcze, z domyślną konfiguracją bez logowania i z szerokimi uprawnieniami w chmurze. Luka zamienia taki serwer w pośrednika, który wynosi poświadczenia i dane z wnętrza sieci, nie zostawiając śladów w logach logowania.

Obszar biznesu

Potencjalny wpływ

Czas do wystąpienia

Koszty szacunkowe

Operacyjny

Wymiana poświadczeń chmurowych, przegląd uprawnień, przerwy w pracy zespołu AI

Dni

10 tys. do 100 tys. PLN (praca zespołu, przegląd chmury)

Bezpieczeństwo danych

Wyciek danych treningowych, baz klientów, modeli i wyników eksperymentów

Godziny do dni

30 tys. do 300 tys. PLN (analiza powłamaniowa, obsługa incydentu)

Finansowy

Utrata przewagi konkurencyjnej, rachunki za zasoby uruchomione przez napastnika

Tygodnie

50 tys. do 800 tys. PLN łącznie

Reputacyjny

Ujawnienie danych klientów użytych do trenowania modeli

Miesiące

30 tys. do 400 tys. PLN (utracone zaufanie)

Prawny

Obowiązek zgłoszenia naruszenia do UODO w ciągu 72 godzin, jeśli dane treningowe zawierały dane osobowe; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu (zależnie od okoliczności i skali zaniedbań)

72 godziny od wykrycia

15 tys. do 150 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 serwera MLflow starszego niż 3.15.0 Wpływ 5 | . . . . . 4 | . . . . ■ ← KRYTYCZNE (w chmurze, z internetu, bez logowania) 3 | . . □ . . ← ŚREDNIE (za logowaniem, tylko w sieci firmowej) 2 | . . . . . 1 | . . . . . +-------------------- 1 2 3 4 5 Prawdopodobieństwo

Interpretacja: serwer w chmurze dostępny z internetu bez logowania ma ryzyko krytyczne (potwierdzone ataki, odczyt poświadczeń chmurowych); wpływ oceniamy jako wysoki, a nie maksymalny, bo luka daje odczyt, a nie bezpośrednie wykonanie kodu. Serwer za logowaniem i tylko w sieci firmowej jest wyraźnie mniej narażony.

5. CO MUSISZ ZROBIĆ NATYCHMIAST?

Lp.

Priorytet

Działanie

Termin

Odpowiedzialny

1

🔴 NATYCHMIAST

Ustalić, gdzie w firmie działa serwer MLflow (a gdzie tylko biblioteka kliencka) i w jakiej wersji

Dziś

Zespół AI / DevOps

2

🔴 NATYCHMIAST

Zaktualizować serwer do 3.15.0 lub nowszej wersji

Dziś

DevOps

3

🔴 NATYCHMIAST

Jeśli aktualizacja musi poczekać: odciąć serwer od internetu regułami zapory

Dziś

Administrator sieci / chmury

4

🟠 PILNIE

Przejrzeć logi dostępu do zasobów chmurowych z okresu sprzed poprawki pod kątem użycia poświadczeń serwera z nieznanych miejsc

Do 3 dni

DevOps / zespół bezpieczeństwa

5

🟠 PILNIE

Wymienić poświadczenia, które serwer MLflow mógł zobaczyć (role maszyny, klucze, tokeny usług wewnętrznych)

Do 3 dni

Administrator chmury

6

🟠 PILNIE

Wymusić nowszą wersję usługi metadanych w chmurze, wymagającą tokenu sesji, jeśli dostawca to umożliwia

Do 7 dni

Administrator chmury

7

🟡 WAŻNIE

Postawić serwer MLflow za logowaniem i ograniczyć jego uprawnienia w chmurze do minimum

Do 30 dni

CTO / DevOps

Jeśli aktualizacja nie jest dostępna

Twórcy MLflow wydali poprawkę w wersji 3.15.0, więc docelowo trzeba ją zainstalować. Do tego czasu ryzyko ograniczają poniższe miary. Oceny efektywności to ocena ekspercka.

Czasowa miara ochronna

Efektywność

Łatwość wdrożenia

Odcięcie serwera MLflow od internetu regułami zapory

Wysoka wobec ataków z internetu

Łatwa

Uwierzytelnianie przed serwerem (np. serwer pośredniczący z logowaniem)

Średnia do wysokiej: podnosi próg wejścia

Średnia

Blokada połączeń wychodzących z serwera do usługi metadanych i sieci wewnętrznej, poza niezbędnymi

Wysoka wobec głównego skutku ataku

Średnia

Minimalne uprawnienia roli maszyny w chmurze

Średnia: ogranicza szkody po wycieku

Średnia

Przed i po działaniu

Stan

Przed działaniem

Po działaniu

Wersja MLflow

Starsza niż 3.15.0

3.15.0 lub nowsza

Dostęp do serwera

Z internetu, bez logowania

Za logowaniem, tylko z sieci firmowej lub VPN

Poświadczenia chmurowe

Mogły wyciec

Wymienione, logi przejrzane

Uprawnienia maszyny

Szerokie

Ograniczone do niezbędnych

Zgodność z terminem CISA

Zaległość od 2 września 2026 roku (termin wiąże agencje USA, ale jest dobrym punktem odniesienia)

Luka zamknięta, sprawdzenie śladów włamania udokumentowane

6. KONTEKST I SKALA ZAGROŻENIA

Aspekt

Informacja

Czy jest wykorzystywana?

TAK (potwierdzone przez CISA). Wewnętrzna ocena CISA w ciągu trzech dni zmieniała się od „brak wykorzystania” do „aktywne wykorzystanie” (wg analizy źródłowej)

Grupy przestępcze

Brak publicznych informacji o nazwach grup

Kampanie ransomware

Brak potwierdzenia (CISA: Unknown)

Ocena CVSS

9.3 KRYTYCZNA wg GitHub (CVSS 3.1), przejęta przez NVD i ENISA; 8.5 WYSOKA wg Red Hat (ocena robocza)

PoC dostępny publicznie?

Brak publicznego kodu w zweryfikowanych źródłach; biuletyn GitHub i poprawka szczegółowo opisują mechanizm

Liczba atakowanych firm

Brak publicznych informacji

Zgłaszający

Biuletyn GitHub wymienia kilku zgłaszających i znalazców; opisuje też wariant z ponownym rozwiązywaniem nazwy (DNS rebinding)

Prognoza EPSS

Górne 3% wszystkich znanych podatności (wg analizy źródłowej)

Sygnały zagrożenia dla CVE-2026-64849 CVSS 3.1 (GitHub) 9.3/10 ███████████████████░ KRYTYCZNA CVSS 3.1 (Red Hat) 8.5/10 █████████████████░░░ WYSOKA EPSS top 3% ███████████████░░░░░ WYSOKI PERCENTYL CISA KEV TAK ████████████████████ ataki potwierdzone Ransomware (CISA) Unknown ░░░░░░░░░░░░░░░░░░░░ brak potwierdzenia
Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Linia czasu incydentu

2026-07-31 Wydanie MLflow 3.15.0 z poprawką 2026-08-02 Publikacja biuletynu GitHub GHSA-7gwp-5pfp-969j 2026-08-17 Publikacja CVE-2026-64849 w NVD 2026-08-19 CISA dodaje lukę do katalogu KEV (BOD 26-04) 2026-08-20 Ostatnia aktualizacja wpisu w NVD 2026-09-02 Termin naprawy wg CISA dla agencji federalnych ... dwa tygodnie od terminu CISA 2026-09-17: TUTAJ JESTEŚMY

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

Poprawka w repozytorium MLflow: github.com/mlflow/mlflow/pull/24258 . Zgłoszenie: github.com/mlflow/mlflow/issues/24179 . Dyrektywa CISA: cisa.gov: BOD 26-04 . Wpis w NVD: nvd.nist.gov/vuln/detail/CVE-2026-64849 .

Lp.

Zadanie

Kto

Deadline

1

Ustalić, czy firma lub jej wykonawcy uruchamiają serwer MLflow

CTO

DZISIAJ

2

Uzyskać pisemną informację o wersji i dostępności serwera z internetu

CTO

DZISIAJ

3

Zatwierdzić aktualizację lub natychmiastowe odcięcie serwera od internetu

CTO

DZISIAJ

4

Zlecić przegląd logów chmury i wymianę poświadczeń, które serwer mógł zobaczyć

CTO

DO JUTRA

5

Przejrzeć rachunki za chmurę pod kątem nieznanych zasobów

CFO

DO JUTRA

6

Zarezerwować budżet na analizę powłamaniową, jeśli logi pokażą nietypowe użycie kluczy

CFO

DO JUTRA

7

Ustalić zasadę: narzędzia zespołów AI podlegają tym samym wymogom bezpieczeństwa co systemy produkcyjne

CTO

DO JUTRA

8. PYTANIA DO TWOJEGO ZESPOŁU IT

#

Pytanie

Odpowiedź

Priorytet

1

Czy uruchamiamy serwer MLflow i gdzie (lokalnie, w chmurze, u wykonawcy)?

TAK / NIE, [miejsce]

🔴

2

Jaka jest wersja serwera MLflow?

[wersja]

🔴

3

Czy serwer jest dostępny z internetu i czy wymaga logowania?

TAK / NIE, TAK / NIE

🔴

4

Kiedy zainstalowano wersję 3.15.0 lub nowszą?

[data]

🔴

5

Czy logi chmury pokazują użycie poświadczeń serwera z nieznanych miejsc?

TAK / NIE

🟠

6

Czy wymieniliśmy poświadczenia dostępne dla maszyny z MLflow?

TAK / NIE, [data]

🟠

7

Jakie uprawnienia w chmurze ma maszyna z serwerem MLflow?

[zakres uprawnień]

🟡

Pytania diagnostyczne dla managera

  • ✓ Czy wiem, jakie narzędzia uruchomił nasz zespół AI lub analityki danych i kto je aktualizuje?
  • ✓ Czy dane klientów użyte do trenowania modeli są chronione jak dane produkcyjne?
  • ✓ Czy serwery do eksperymentów mają w chmurze szersze uprawnienia, niż naprawdę potrzebują?
  • ✓ Czy po aktualizacji sprawdzamy, czy ktoś nie wszedł do systemu wcześniej?
  • ✓ Czy mamy procedurę zgłoszenia naruszenia danych do UODO w 72 godziny?

Podsumowanie

CVE-2026-64849 pozwala bez logowania zmusić serwer MLflow do odczytu usług wewnętrznych i metadanych chmury, a wynik trafia prosto do napastnika. CISA potwierdza ataki, a termin z nowej dyrektywy minął 2 września 2026 roku, więc aktualizacja do 3.15.0 lub odcięcie serwera od internetu to zadanie na dziś, a przegląd logów i wymiana poświadczeń chmurowych na najbliższe dni.

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ń.