¿Tu conexión de IA está protegida? Guía sobre MCP y BadHost
Qué es BadHost (CVE-2026-48710), qué significa para tus conexiones de IA por MCP, el mensaje para enviarle a quien te construyó la conexión y las comprobaciones para el equipo técnico.
Conectar una IA a tus herramientas también implica revisar quién puede acceder a ellas. Esta guía te ayuda a conversar con quien administra esa conexión y a comprobar un fallo concreto. No sustituye una auditoría de seguridad.
Fuentes revisadas: 2 de octubre de 2026.
1. Qué pasó, en sencillo
BadHost, identificado como CVE-2026-48710, afecta a determinadas aplicaciones construidas con Starlette. El aviso oficial enumera las versiones 1.0.0 y anteriores como afectadas y 1.0.1 como primera versión corregida.
El servidor recibía una solicitud y reconstruía su dirección utilizando un dato llamado Host. Si ese dato estaba mal formado, la ruta reconstruida podía diferir de la real. Los controles que decidían permisos usando request.url o request.url.path podían revisar la ruta equivocada.
Fuente: Aviso oficial de Starlette.
2. Qué significa para tus conexiones
No es una prueba de que Claude o ChatGPT hayan sido hackeados. Tampoco significa que todos los servidores MCP sean vulnerables. MCP es el protocolo de contexto del modelo: la conexión concreta y su infraestructura son lo que debe revisarse.
El mantenedor subraya que el router sigue atendiendo la ruta real: el problema aparece cuando la aplicación deriva sus decisiones de autorización de la URL reconstruida. Recomienda no basar la autorización en comparaciones frágiles de cadenas de rutas.
Fuente: Explicación del mantenedor.
3. Si alguien te construyó la conexión, envíale esto
Hola. ¿Nuestra conexión utiliza Starlette o FastAPI? ¿Revisaron BadHost, CVE-2026-48710? Quiero confirmar la versión que corre en producción, si los controles de acceso dependen de request.url.path y si probaron que las rutas privadas siguen exigiendo autorización. ¿Me comparten el resultado y la fecha de revisión?No necesitas programar para pedir una respuesta concreta. Si el servicio es de un tercero, solicita su confirmación: instalar algo en tu computador no actualiza sus servidores.
4. Comprobaciones para el equipo técnico
Ejecutar en el entorno que realmente sirve la aplicación, no en una instalación distinta:
python -c "from importlib.metadata import version; print(version('starlette'))"
python -m pip show starlette fastapi
python -m pip checkCómo leerlo:
- 1.0.0 o anterior: revisar el aviso y planear la corrección.
- 1.0.1 o posterior: incorpora la corrección de este fallo; no certifica toda la seguridad del sistema.
- PackageNotFoundError: ese intérprete no encuentra el paquete. No prueba que otro contenedor o servicio no lo use.
- pip check sin errores: informa compatibilidad de dependencias, no ausencia de vulnerabilidades.
Para localizar referencias que requieren revisión manual, desde la carpeta del código:
rg -n 'request\.url|url\.path' .Una coincidencia no demuestra vulnerabilidad; no encontrarla tampoco descarta variantes del patrón.
5. Corregir y comprobar
OSTIF recomienda actualizar y reconstruir los contenedores y otros paquetes desplegados que incorporen Starlette: revisar solo el equipo anfitrión no basta.
Checklist de trabajo propuesta:
- ☐ Elegir una versión corregida compatible con las dependencias del proyecto.
- ☐ Actualizar el manifiesto y archivo de bloqueo mediante el gestor habitual.
- ☐ Revisar los controles de autenticación y autorización.
- ☐ Probar en un entorno controlado que un usuario sin permiso no acceda a rutas privadas.
- ☐ Reconstruir, desplegar y verificar la versión en cada instancia activa.
- ☐ Registrar fecha, responsable y resultado de las pruebas.
Fuente: Informe de OSTIF.
6. Herramientas de revisión y sus límites
OSTIF enlaza el escáner BadHost y las herramientas publicadas por X41, que incluyen análisis de código.
Interpretación prudente:
- Hallazgo positivo: investigar y validar el alcance; no demuestra por sí mismo una intrusión previa.
- Sin hallazgos: no equivale a una auditoría completa.
- Error o servicio inaccesible: resultado inconcluso, no aprobación de seguridad.
7. Más allá de BadHost
Como checklist general para tus conexiones, pide identificar qué datos pueden leer, qué acciones pueden ejecutar, quién autoriza cambios sensibles y cómo revocar el acceso. Concede solo los permisos necesarios.
Si quieres entender qué es un MCP y cuáles vale la pena conectar, lee los 9 MCP que uso con Codex y Claude Code. Y si tu empresa tiene agentes o automatizaciones conectadas y quieres revisarlas con alguien, escríbeme por WhatsApp.
Soy Lala. Explico la IA fácil para que nada se te quede atrás. Si quieres esto aplicado en tu empresa —capacitar a tu equipo, automatizar lo repetitivo o montar un WhatsApp que responda solo— escríbeme y te digo con honestidad qué te sirve.
Escríbeme por WhatsApp →