MCP TypeScript server SDK: Instancias compartidas de transporte o servidor entregaban mensajes de un cliente HTTP a otro
Resumen
En las versiones afectadas, un servidor MCP accesible a través de HTTP podía entregar las respuestas y notificaciones de un cliente a otro cliente. Esto ocurría cuando los clientes compartían un transporte sin estado, o una misma instancia de McpServer o Server.
Los mensajes se asociaban a una conexión únicamente mediante el id de JSON-RPC. Los clientes del SDK numeran las solicitudes a partir de 0, por lo que los identificadores colisionan durante el uso normal.
¿Estoy afectado?
Sí, si más de un cliente puede acceder a su punto de conexión HTTP y su código crea el transporte o el servidor una sola vez al inicio, en lugar de crearlo por solicitud o por sesión. Hasta esta versión, los ejemplos del README de @modelcontextprotocol/hono, express, fastify y node mostraban ese patrón.
Versiones afectadas: @modelcontextprotocol/server 2.0.0 hasta 2.2.0.
No afectados:
createMcpHandler()con una factoría que construye un nuevo servidor en cada llamada- Servidores stdio
@modelcontextprotocol/sdk1.26.0 y posteriores
Qué hacer
Actualice a @modelcontextprotocol/server 2.3.0 o posterior.
También es necesario modificar el código de la aplicación. El SDK ahora rechaza ser compartido, por lo que una aplicación afectada fallará en las solicitudes tras la actualización: un segundo connect() se rechazará con ALREADY_CONNECTED, y un transporte sin estado rechazará su segunda solicitud.
Cambie a uno de los siguientes enfoques:
createMcpHandler(): pase una factoría que construya un nuevoMcpServeren cada llamada.- Por solicitud: cree un nuevo
McpServery un nuevo transporte dentro del manejador de solicitudes. - Por sesión: configure
sessionIdGeneratory mantenga unMcpServery un transporte por sesión.
Si aún no puede actualizar, este mismo cambio de código corrige el problema en las versiones afectadas.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de npm | @modelcontextprotocol/server | >= 2.0.0, < 2.3.0 | 2.3.0 |
Referencias
- https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-jm63-cq47-j5jp
- https://github.com/modelcontextprotocol/typescript-sdk/pull/2918
- https://github.com/modelcontextprotocol/typescript-sdk/commit/84804c22e45a662675a198f853b7f00063838a8d
- https://github.com/modelcontextprotocol/typescript-sdk
- Vector CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:H- Debilidad (CWE)
CWE-362- Plataforma
- npm
- Paquete
@modelcontextprotocol/server- Publicada
- 20.10.2026
- Actualizado
- 20.10.2026 23:19
Fuentes y licencias · Editado o traducido por DockRay; se mantienen los derechos y las licencias de las fuentes.
OSV / GitHub Advisory Database - GHSA-jm63-cq47-j5jp - CC BY 4.0
Historial de vulnerabilidades: @modelcontextprotocol/server
Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 3
- Primera → última
- 10.2026 10.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Alta 2
- Media 1
Divulgaciones por año
- 2026: 3
-
MCP TypeScript server SDK: Instancias compartidas de transporte o servidor entregaban mensajes de un cliente HTTP a otro esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.