El Model Context Protocol (MCP) es un estándar abierto que facilita la integración de asistentes de IA con herramientas externas. El SDK oficial en Python permite crear tanto servidores como clientes que consumen este protocolo. El 29 de septiembre de 2026, los mantenedores publicaron un aviso de seguridad que alerta sobre una vulnerabilidad que permite a un servidor MCP malicioso robar las credenciales OAuth que la aplicación cliente utiliza para autenticarse en un servicio real.
Cómo funciona la vulnerabilidad
Durante el proceso de inicio de sesión, el cliente pregunta al servidor MCP la ubicación del authorization server (el proveedor de identidad). En las versiones afectadas (1.9.1-1.29.1 y 2.0.0-2.1.1) el SDK no siempre verifica que la URL devuelta sea auténtica. Un atacante puede responder con un código 404, forzando al SDK a usar una ruta de fallback que acepta cualquier metadata sin validar. De este modo, el cliente envía su client secret el authorization code y la clave PKCE a un endpoint controlado por el atacante.
Impacto y puntuación de riesgo
Con los datos robados, el atacante solicita un token de acceso válido al proveedor original y adquiere todas las permissões que la aplicación había recibido. El client secret es de larga duración, por lo que permanece útil hasta que se cambie manualmente. La vulnerabilidad recibió una calificación alta de 7.5 para los proveedores sin interacción humana (ClientCredentialsOAuthProvider y PrivateKeyJWTOAuthProvider) y 6.5 para el flujo interactivo (OAuthClientProvider). Hasta la fecha del aviso (29 de septiembre), no se había asignado un CVE.
Corrección y medidas recomendadas
Los parches se incluyeron en versión 1.30.0 de la rama 1.x y versión 2.2.0 de la rama 2.x, publicados el 7 de septiembre. Estas versiones verifican la coincidencia entre la URL descubierta y el issuer antes de aceptar cualquier metadata. Para los proveedores ClientCredentialsOAuthProvider y PrivateKeyJWTOAuthProvider es necesario añadir explícitamente el parámetro issuer= que identifica al servidor de autorización legítimo; de lo contrario, seguirán siguiendo al servidor indicado por el atacante. Además, se recomienda limpiar los registros de cliente OAuth almacenados y rotar tanto el client secret como los tokens emitidos. Los clientes que usen el proveedor obsoleto RFC7523OAuthClientProvider deben migrar a uno de los proveedores soportados, ya que el primero no permite especificar issuer.
Contexto del descubrimiento
La vulnerabilidad fue identificada por la firma de seguridad Cycode que demostró el robo completo de credenciales en un entorno de pruebas. El ataque muestra una página de inicio de sesión auténtica (Google, Okta, Azure AD, etc.), de modo que el usuario no percibe ninguna anomalía. Tras aprobar la autenticación, el flujo falla aparentemente en el servidor MCP, pero el atacante ya dispone de un token válido. Cycode no ha registrado incidentes reales de explotación y la divulgación se realizó el 28 de septiembre, el mismo día de su publicación.
30.0 o 2.2.0, configurar el parámetro issuer cuando corresponda y rotar las credenciales son los pasos esenciales para mitigar el riesgo. Mientras tanto, los desarrolladores deben limitar la conexión a servidores MCP de confianza y evitar depender de la ruta de fallback que omite la verificación de la autoridad de autenticación.



