
BadHost, una vulnerabilidad detectada en el framework web Python Starlette, permite que un atacante manipule la cabecera HTTP Host para alterar la interpretación de la URL y, en consecuencia, evadir controles de autenticación y seguridad. Investigadores de Secwest y X41 D — Sec presentaron los hallazgos el 1 de junio de 2026; Starlette suma alrededor de 325 millones de descargas semanales, lo que magnifica el alcance potencial del problema.
Técnicamente, la falla surge porque Starlette reconstruye request.url concatenando la cabecera Host con la ruta solicitada y vuelve a parsear ese resultado sin validar Host conforme a RFC 9112 y RFC 3986. Inserciones controladas de caracteres como '/', '?' o '#' dentro del valor de Host pueden desplazar los límites de ruta, query o fragmento, alterando la decisión de qué recurso se solicita. foo' puede devolver 403, 'Host: foo?' puede devolver 200.
El impacto práctico no es meramente teórico: X41 documentó cadenas de explotación en múltiples proyectos open source cuyo middleware toma decisiones de seguridad basadas en request.url. La vulnerabilidad fue identificada durante una auditoría de vLLM, lo que demuestra una ruta operativa desde la peculiaridad de Starlette hasta primitivas explotables en servicios de modelos de lenguaje (LLM). Servicios de IA desplegados en redes internas o entornos de investigación sin reverse proxy quedan especialmente expuestos.
Aunque la falla recibió una puntuación moderada (6.5), los investigadores alertan que esa valoración puede subestimar el impacto aguas abajo; las cadenas documentadas incluyen omisión de autenticación, SSRF y ejecución remota de código. Se advierte un riesgo particular en servidores MCP, porque la especificación MCP contempla endpoints de descubrimiento OAuth no autenticados que facilitan la explotación.
Fuentes
Respuestas (0)
Aún no hay respuestas en este tema.