CVE-2026-111770: cómo el SDK de MCP en TypeScript puede enviar respuestas de un cliente a otro por colisión de IDs JSON-RPC

By Carlos Montiel | Especialista en IA Empresarial
Read in English →
Publicado: 2026-10-27 | Por: Carlos Montiel | Lectura: ~4 minutos
CVE-2026-111770: cómo el SDK de MCP en TypeScript puede enviar respuestas de un cliente a otro por colisión de IDs JSON-RPC

El aviso CVE-2026-111770 (CVSS 7.7, publicado el 20 de octubre de 2026) afecta a @modelcontextprotocol/server, versiones 2.0.0 a 2.2.x: un servidor MCP por HTTP que comparte un transporte entre clientes puede entregar las respuestas y notificaciones de un cliente a otro. La causa es una colisión de identificadores.

Cómo funciona la falla

El protocolo MCP usa mensajes JSON-RPC, donde cada petición lleva un id para emparejar la respuesta. Según el aviso, cuando un servidor expuesto por HTTP reutiliza un único transporte sin estado, o una misma instancia de McpServer o Server, para varios clientes, los mensajes se asociaban a una conexión «únicamente por el id JSON-RPC». Como los clientes del SDK numeran sus peticiones desde 0, los IDs colisionan de forma normal: el cliente A y el cliente B ambos envían el id 0, y la respuesta puede terminar en el equivocado.

CVE: CVE-2026-111770 (GHSA-jm63-cq47-j5jp) Paquete: @modelcontextprotocol/server (npm) Afectado: 2.0.0 hasta antes de 2.3.0 Corregido en: 2.3.0 CVSS 3.1: 7.7 (alto) - CWE-362, condición de carrera Publicado: 20 de octubre de 2026

Por qué es distinto de un bug cualquiera

Un servidor MCP suele devolver datos de herramientas: consultas a bases, archivos, tickets. Si las respuestas se cruzan entre clientes, un usuario o agente puede recibir datos de otra sesión, sin necesidad de que el atacante «rompa» nada: basta con compartir la misma instancia. La puntuación (confidencialidad alta, integridad baja, disponibilidad alta, complejidad de ataque alta) refleja que depende de la condición de carrera y del patrón de despliegue.

Antecedente: una falla parecida (CVE-2026-25536, CVSS 7.1) afectó a versiones 1.10.0 a 1.25.3 del SDK anterior cuando se reutilizaba un servidor y transporte entre clientes, corregida en 1.26.0. Es el mismo patrón de diseño que reaparece: compartir instancias entre clientes es el error a evitar.

Cómo mitigarlo

Qué significa para tu empresa: si tu equipo construyó conectores MCP internos para dar a agentes acceso a bases o documentos, verifica la versión del SDK y que cada sesión tenga su propio estado. Una fuga entre clientes en un servidor multiusuario es una brecha de datos aunque nadie haya «hackeado» nada.

Fuentes: GitLab Advisory Database y Vulert (CVE-2026-111770, 20 de octubre de 2026).

Carlos Montiel
Arquitecto de Soluciones IA Empresarial
Especialista en LLMs, Agentes y Orquestación
guatemalia.com/#contacto · info@guatemalia.com

¿Necesitas implementar IA en tu empresa?

Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.

Contactar a Carlos Montiel

info@guatemalia.com