Hopp til hovedinnhold
AIKI

BadHost i Starlette: sikkerhet for AI-agenter og API-er

||4 min lesing

Kort fortalt

  • BadHost gjelder Starlette før 1.0.1 og kan gi auth bypass i apper med sårbar path-basert middleware.
  • Risikoen er størst for FastAPI-baserte MCP-servere, LLM-proxyer, interne chatbotter og agent-backends med brede rettigheter.
  • Kartlegg avhengigheter, oppgrader Starlette, test Host-header-bypass og logg agenttilganger før videre drift.

BadHost er en Starlette-sårbarhet som bør få oppmerksomhet hos bedrifter som bygger egne AI-agenter. Årsaken er enkel: Starlette og FastAPI ligger ofte under interne chatbotter, MCP-servere, LLM-proxyer og agent-backends med tilgang til CRM, e-post, kalender og dokumenter.

Sårbarheten er sporet som CVE-2026-48710, GHSA-86qp-5c8j-p5mr, PYSEC-2026-161 og X41-2026-002. Den korte versjonen: bruker dere Starlette før 1.0.1 i en tjeneste som tar sikkerhetsvalg basert på request.url.path, bør den sjekkes nå.

Hva er BadHost?

Starlette før versjon 1.0.1 brukte HTTP Host-headeren når rammeverket rekonstruerte request.url. Ifølge GitHub Security Advisory kunne dette påvirke middleware og endepunkter som brukte request.url til sikkerhetsbeslutninger.

X41 beskriver at en angriper kan sende en manipulert Host-header med tegn som /, ? eller #. Da kan request.url.path vise en annen sti enn den serveren faktisk ruter til. I en sårbar arkitektur kan middleware tro at forespørselen gjelder et offentlig endepunkt, mens serveren egentlig behandler et beskyttet admin-endepunkt. Resultatet kan bli authentication bypass.

Patchen er konkret: Starlette 1.0.1 inkluderer endringen "Ignore malformed Host header when constructing request.url". Tiltaket er å oppgradere til Starlette 1.0.1 eller nyere.

Hvorfor angår dette AI-agenter?

BadHost ligger i web-laget. AI-relevansen kommer fra bruken av Starlette og FastAPI. Secwest peker på at rammeverkene inngår i LLM-infrastruktur som vLLM, LiteLLM, Text Generation Inference, OpenAI-kompatible proxyer, agent-harnesses, eval-dashboards og model-management-grensesnitt. BadHost.org nevner også MCP-servere og AI-agentrammeverk som relevante bruksmønstre.

For norske SMB-er er MCP-servere særlig viktige. De kobler agenter til verktøy og datakilder: CRM, e-post, kalender, databaser og interne API-er. Ars Technica omtaler denne koblingen mellom AI-agenter og eksterne ressurser. Antallet berørte agenter er mindre viktig enn rettighetene hver agent har. En intern agent med brede rettigheter er nok.

Risikoen treffer særlig apper som bruker request.url.path i egen middleware for autentisering eller tilgangskontroll. FastAPI sine Depends og Security-mekanismer beskrives som tryggere for denne bug-klassen, fordi kontrollen knyttes nærmere endepunktet.

Hva betyr dette for norske bedrifter?

Risikoen er størst hvis dere selv hoster noen av disse komponentene:

  • Interne chatbotter bygget med FastAPI eller Starlette.
  • MCP-servere som gir agenter tilgang til CRM, e-post, kalender eller filer.
  • LLM-proxyer som LiteLLM eller OpenAI-kompatible proxyer.
  • vLLM eller annen intern modellservering.
  • Adminpaneler, eval-dashboards eller model-management-UI-er eksponert mot internett eller VPN.

Hvis en moden leverandør drifter alt, bør leverandøren håndtere patching. Spør likevel. Hvis dere har bygget selv, kjørt proof of concept i produksjon, eller latt et sideprosjekt bli kritisk infrastruktur, bør dette prioriteres.

Alvorligheten bør også nyanseres. CVE-recorden oppgir CVSS 6.5 Medium. X41 vurderer saken som High med 7.0. For en vanlig webapp kan Medium være riktig. For en agent som kan lese kundedata, e-post og interne dokumenter, kan den praktiske konsekvensen bli høyere.

Hva bør dere gjøre denne uken?

Start med tiltak som gir rask avklaring:

  1. Kartlegg avhengigheter. Finn interne tjenester som bruker Starlette, FastAPI, LiteLLM, vLLM, MCP-servere eller OpenAI-kompatible proxyer. Sjekk requirements.txt, pyproject.toml, Docker-images og transitive avhengigheter.

  2. Oppgrader Starlette. Bruk Starlette 1.0.1 eller nyere, i tråd med GitHub-advisoryen. Test FastAPI-kompatibilitet før produksjonsutrulling.

  3. Test Host-header-bypass. Kjør kontrollert test i staging. Sjekk om manipulert Host-header kan få request.url.path til å avvike fra faktisk rute. BadHost.org viser mønsteret og omtaler scanner, men interne systemer bør testes med godkjenning.

  4. Flytt auth bort fra path-middleware. Tilgangskontroll bør ligge på framework- eller endepunktnivå, for eksempel med FastAPI Depends eller Security, ikke i egen middleware som tolker request.url.path.

  5. Logg agenttilganger og sett grenser. Logg bruker, agent, integrasjon og datakilde. En agent som kan lese data, bør ikke automatisk få sende e-post, endre CRM eller eksportere kundelister uten menneskelig godkjenning.

Dette passer inn i en AI-revisjon eller teknisk gjennomgang før dere går videre med Autonome AI-agenter. AIKI hjelper også med praktisk bygging og drift gjennom AI Kickstart, AI-automatisering og AI Partner.

Ofte stilte spørsmål

Hva er BadHost?

BadHost er en sårbarhet i Starlette, sporet som CVE-2026-48710 og GHSA-86qp-5c8j-p5mr. Manipulert HTTP Host-header kan påvirke hvordan request.url rekonstrueres. I apper som bruker request.url.path til autentisering eller tilgangskontroll, kan dette gi authentication bypass.

Må alle som bruker FastAPI oppgradere?

Alle bør sjekke avhengigheter og vurdere oppgradering. Risikoen er særlig knyttet til apper med Starlette før 1.0.1 og path-basert sikkerhetslogikk i middleware. Apper som bruker FastAPI Depends eller Security riktig, er mindre utsatt for akkurat denne bug-klassen.

Hvorfor nevnes MCP-servere?

MCP-servere kobler AI-agenter til CRM, e-post, kalender, databaser og interne API-er. Hvis en MCP-server er bygget på sårbar FastAPI/Starlette-arkitektur, kan feilen gi tilgang til data agenten kan lese eller handle på vegne av.

Er CVSS Medium et tegn på lav risiko?

Nei. CVSS 6.5 Medium beskriver sårbarheten generelt, mens X41 vurderer den som High 7.0. Vurder risiko ut fra hva tjenesten faktisk kan lese og gjøre.

Kilder

Vil du ha en trygg gjennomgang av AI-agentene deres? Les mer om AI-revisjon eller ta kontakt.

Del:LinkedInXFacebook