BadHost: luka w Starlette zagraża milionom agentów AI

Miliony agentów AI właśnie dostały poważny problem. Krytyczna luka w Starlette - frameworku z 325 milionami pobrań tygodniowo - pozwala hakerom wejść na serwery i wykraść dane. Wystarczy jeden znak wstrzyknięty w nagłówek HTTP.

Starlette to fundament dla FastAPI i innych popularnych narzędzi do budowania aplikacji w Pythonie. Jeśli korzystasz z agentów AI, które łączą się z bazami danych, emailem czy kalendarzem - prawdopodobnie używasz Starlette. Dlatego ta luka jest tak poważna.

Luka BadHost pozwala ominąć autoryzację jednym znakiem w nagłówku HTTP

Mechanizm ataku: jeden znak, pełen dostęp

BadHost (CVE-2026-48710) to nazwa podatności odkrytej przez firmę X41 D-Sec. Mechanizm jest prosty: Starlette akceptuje nieprawidłowe wartości w nagłówku Host. To wystarczy, żeby ominąć autoryzację opartą na ścieżkach.

Aplikacje, które używają obiektu request.url w Starlette do sprawdzania uprawnień, nagle przestają rozpoznawać, kto ma dostęp, a kto nie. Badacze z Secwest potwierdzili, że znaleźli wiele aplikacji, w których autoryzacja została w ten sposób całkowicie wyłączona.

Luka ma ocenę 7 na 10 w skali CVSS. Secwest twierdzi, że to zaniżona wartość - w praktyce zagrożenie jest większe. X41 D-Sec nazywa ją wprost: krytyczna.

Które narzędzia są zagrożone?

Lista jest długa. FastAPI to oczywisty kandydat - najpopularniejszy framework zbudowany na Starlette. Również vLLM (tam odkryto błąd), LiteLLM, Text Generation Inference, większość proxy dla OpenAI, serwery MCP, narzędzia do zarządzania modelami.

Jeśli używasz Claude AI lub ChatGPT przez MCP (model context protocol), twoje serwery mogą być podatne. MCP to protokół, który pozwala agentom AI łączyć się z zewnętrznymi źródłami danych - bazami, emailem, kalendarzem. Serwery MCP przechowują dane uwierzytelniające do tych systemów. Idealny cel dla atakującego.

Serwery MCP przechowują dane uwierzytelniające do wielu systemów - dlatego są tak cennym celem

Co jest teraz dostępne dla hakerów

Badacz Markus Vervier z X41 D-Sec przeprowadził skanowanie i znalazł wystawione dane z różnych branż. Lista jest konkretna:

Biofarmacja - bazy danych prób klinicznych, dane o fuzjach i przejęciach, SSRF

Weryfikacja tożsamości - analiza twarzy, dane KYB, dane osobowe na żywo, kod źródłowy wewnętrzny

IoT i przemysł - SSH do urządzeń przez bastion, zdalne wykonywanie kodu

Email i SaaS - pełny dostęp do skrzynek (odczyt, wysyłanie, usuwanie), eksport S3, webhooki

HR i rekrutacja - dane osobowe kandydatów, pipeline rekrutacyjny

CMS i marketing - listy subskrybentów, planowanie kampanii emailowych

Zarządzanie dokumentami - odczyt, upload, modyfikacja zeskanowanych dokumentów

Monitoring chmury - topologia AWS, rozproszone ślady, zapytania o metryki

Cyberbezpieczeństwo - inwentarz zasobów, dostęp do skanera Nuclei

Zdrowie i finanse osobiste - logi żywienia, wydatki, subskrypcje

To nie teoretyczne zagrożenie. Te dane są dostępne teraz, w momencie gdy czytasz ten tekst. Jeśli prowadzisz firmę, która używa agentów AI do obsługi klienta, analizy danych czy automatyzacji - sprawdź, czy twoje serwery są zabezpieczone.

Jak się zabezpieczyć

Starlette wypuściło łatkę w wersji 1.0.1 w piątek. Jeśli używasz starszej wersji - aktualizuj natychmiast. Nie ma tu miejsca na "sprawdzę w przyszłym tygodniu".

X41 D-Sec we współpracy z Nemesis stworzyło skaner online, który sprawdza, czy twój serwer jest podatny. Wpisz adres, poczekaj kilka sekund, dostaniesz odpowiedź.

Jeśli nie możesz zaktualizować od razu (legacy code, zależności, cokolwiek), upewnij się, że firewall jest poprawnie skonfigurowany. Większość systemów za dobrze skonfigurowanym firewallem jest bezpieczna. Większość - nie wszystkie.

Starlette 1.0.1 załatało lukę - aktualizacja to jedyne rozwiązanie

Konsekwencje dla polskich firm

Jeśli twoja firma używa agentów AI do automatyzacji procesów, masz problem do rozwiązania. Polska nie jest wyjątkiem - Starlette to globalny standard, używany również w projektach open source rozwijanych w Polsce.

RODO nakłada obowiązek zgłoszenia wycieku danych w ciągu 72 godzin. Jeśli twój serwer został zhakowany przez BadHost, a ty o tym nie wiesz - licznik już tyka. Sprawdź logi, zaktualizuj oprogramowanie, poinformuj zespół IT.

Strukturalny problem ekosystemu open source

Starlette to projekt open source. 325 milionów pobrań tygodniowo, tysiące zależnych projektów, miliony serwerów na produkcji. I jedna osoba (lub mały zespół) utrzymująca kod.

To nie jest wina deweloperów Starlette. To strukturalny problem ekosystemu open source. Krytyczna infrastruktura internetu opiera się na projektach utrzymywanych przez wolontariuszy w wolnym czasie. Kiedy znajdzie się luka, łatka pojawia się szybko. Pytanie brzmi: ile luk czeka na odkrycie?

Secwest zauważa, że BadHost dotyka "dużego segmentu ekosystemu narzędzi AI w Pythonie". vLLM, LiteLLM, Text Generation Inference, proxy OpenAI, serwery MCP, narzędzia do ewaluacji, dashboardy zarządzania modelami. Wszystko zbudowane na tym samym fundamencie.

Jeśli interesujesz się bezpieczeństwem narzędzi AI, śledź rozwój alternatywnych rozwiązań, które mogą mieć inne podejście do architektury.

Przyszłość bezpieczeństwa agentów AI

BadHost to nie pierwsza i nie ostatnia luka w ekosystemie AI. Agenci AI łączą się z coraz większą liczbą systemów, przechowują coraz więcej danych uwierzytelniających, mają coraz szersze uprawnienia.

MCP (model context protocol) to świetny pomysł - pozwala agentom AI działać jak asystenci z prawdziwym dostępem do twoich narzędzi. Każdy punkt integracji to potencjalna luka. Każdy serwer MCP to skarbonka dla hakera.

Firmy, które wdrażają agentów AI w produkcji, muszą traktować bezpieczeństwo poważnie. Nie wystarczy "zainstalować i zapomnieć". Trzeba monitorować, aktualizować, testować.

Jeśli dopiero zaczynasz przygodę z AI i chcesz zrozumieć, jak bezpiecznie wdrażać te narzędzia, poznaj podstawy. Nie tylko techniczne, ale też organizacyjne - kto ma dostęp, do czego, na jakich warunkach.

Chcesz wdrażać AI bezpiecznie? Kurs AI Evolution pokazuje nie tylko jak używać narzędzi, ale też jak myśleć o bezpieczeństwie i zarządzaniu dostępem w projektach AI. Sprawdź AI Evolution →

Najczęstsze pytania

Czy mój serwer z FastAPI jest podatny na BadHost?

Jeśli używasz Starlette w wersji starszej niż 1.0.1, tak. FastAPI jest zbudowany na Starlette, więc dziedziczy tę lukę. Zaktualizuj do najnowszej wersji lub użyj skanera od X41 D-Sec, żeby sprawdzić.

Jak sprawdzić, czy mój serwer został zhakowany przez BadHost?

Sprawdź logi dostępu do serwera - szukaj nietypowych wartości w nagłówku Host. Jeśli widzisz nieautoryzowane żądania do chronionych endpointów, możliwe że ktoś wykorzystał lukę. Zmień wszystkie dane uwierzytelniające przechowywane na serwerze.

Czy firewall chroni przed BadHost?

Poprawnie skonfigurowany firewall może ograniczyć ryzyko, ale nie eliminuje go całkowicie. Luka działa na poziomie aplikacji, nie sieci. Jedyne pewne rozwiązanie to aktualizacja do Starlette 1.0.1.

Dlaczego luka BadHost ma ocenę tylko 7 na 10?

CVSS (system oceny podatności) nie zawsze odzwierciedla rzeczywiste zagrożenie. Secwest twierdzi, że ocena 7/10 "materialnie zaniża" problem, bo luka jest trywialna w eksploatacji i dotyka milionów serwerów. X41 D-Sec nazywa ją krytyczną.

Czy polskie firmy są zagrożone przez BadHost?

Tak, jeśli używają Starlette, FastAPI lub innych narzędzi zbudowanych na tym frameworku. Polska nie jest wyjątkiem - to globalna infrastruktura. RODO wymaga zgłoszenia wycieku danych w ciągu 72 godzin, więc sprawdź swoje serwery już teraz.

Na podstawie: Ars Technica