Saltar al contenido
Volver a la lista de artículos
security3 min

BadHost: falla en Starlette (CVE-2026-48710) expone agentes de IA y servidores MCP (mayo de 2026)

BadHost: Starlette flaw (CVE-2026-48710) exposes AI agents and MCP servers (May 2026)

KGA IT
2026-10-123 min
SecurityStarletteFastAPIMCPCVE-2026-48710Maio 2026

Qué pasó

En mayo de 2026 se divulgó la CVE-2026-48710, apodada BadHost, una falla crítica de omisión de autenticación en Starlette, el framework de Python sobre el que funciona FastAPI. La corrección llegó en Starlette 1.0.1. La descubrió X41 D-Sec en una auditoría patrocinada por OSTIF, y la informó Ars Technica.

Por qué es grave: Starlette tiene unos 325 millones de descargas semanales y está debajo de gran parte de la infraestructura de IA en Python: vLLM, LiteLLM, servidores MCP (que conectan agentes de IA con herramientas y bases de datos), Google ADK-Python, Ray Serve, BentoML y paneles de agentes.

Cómo funciona

Starlette construye request.url uniendo la cabecera Host con la ruta, sin validar el Host. Un atacante envía algo como Host: example.com/health?x=:

  • el enrutador entrega la petición a la ruta real (por ejemplo, /admin);
  • pero el middleware de autenticación ve la ruta "envenenada" (/health, que es pública) y la deja pasar.

Resultado: cualquier regla de seguridad basada en rutas aplicada en el middleware puede saltarse con un solo carácter en la cabecera.

Los servidores MCP son blancos especialmente fáciles, porque la especificación MCP exige endpoints públicos de descubrimiento OAuth, lo que facilita encontrarlos. En el escaneo de X41, los sistemas vulnerables exponían datos de ensayos clínicos, verificación de identidad, buzones completos, datos de RR. HH. y acceso SSH a equipos industriales.

Según el reportaje, ni siquiera Claude Mythos encontró el fallo en Project Glasswing, porque surge de tres capas que por separado funcionan bien.

Qué hacer

  1. Actualizar Starlette a 1.0.1 o superior (y el FastAPI que lo incluye).
  2. Si aún no es posible: cambiar request.url.path por request.scope["path"] en todo middleware o dependencia que tome decisiones de seguridad.
  3. Poner un proxy inverso (nginx, Caddy, Traefik, HAProxy) que valide el Host.
  4. Auditar imágenes de contenedor y entornos virtuales, que pueden fijar versiones antiguas.
  5. Hay un escáner gratuito en badhost.org.

Lección

La infraestructura de agentes de IA creció demasiado rápido y heredó supuestos de seguridad que nadie revisó. Si tienes un servidor MCP o un proxy de LLM con FastAPI, trátalo como prioridad.

Fuentes


¿Usas agentes de IA o servidores MCP en tu empresa? KGA IT revisa su seguridad gratis: kga-it.com.

Resolvamos juntos sus desafíos técnicos.

KGA IT Solutions reúne equipos especializados en IA, nube y DevOps para entregar la solución ideal a sus retos.

Contáctanos