MCP TypeScript SDK: La autenticación bearer del servidor acepta tokens emitidos para otros servicios
Resumen
En las versiones afectadas del SDK MCP para TypeScript, la autenticación bearer en el servidor carecía de un mecanismo para comprobar si un token fue emitido específicamente para su servidor (validación de audiencia). En entornos donde un único servidor de autorización emite tokens para varios servicios, el servidor MCP aceptaba un token válido que había sido emitido para otro servicio distinto.
¿Está afectado su entorno?
Su entorno se ve afectado si:
- Su servidor HTTP utiliza
requireBearerAuth()overifyBearerToken(), - Su servidor de autorización también emite tokens para otros servicios, y
- Su
verifyAccessToken()no valida de forma independiente la audiencia del token (aud).
Versiones afectadas:
@modelcontextprotocol/sdk1.6.0 hasta 1.31.0@modelcontextprotocol/server2.0.0 hasta 2.2.0@modelcontextprotocol/express2.0.0 hasta 2.0.1@modelcontextprotocol/server-legacy2.0.0 hasta 2.3.0
Qué hacer
Actualice a:
- 1.x:
@modelcontextprotocol/sdk1.32.0 o posterior - 2.x:
@modelcontextprotocol/server2.3.0 o posterior, junto con@modelcontextprotocol/express2.0.2 o posterior si se utiliza @modelcontextprotocol/server-legacy2.3.1 o posterior
Actualizar por sí solo no resuelve el problema. Las versiones corregidas añaden el ajuste expectedResource, deshabilitado de forma predeterminada. Para activar la comprobación, aplique ambos cambios conjuntamente:
- Indique la audiencia que su servidor de autorización incluye en los tokens para su servidor:
requireBearerAuth({ verifier, expectedResource: new URL('https://mcp.example.com/mcp') }). - Devuelva la audiencia del token desde
verifyAccessToken()comoAuthInfo.resource, también unURL.
Con esta configuración, un token emitido para otro servicio recibirá 401. Si solo se aplica el primer cambio, todas las solicitudes recibirán 401.
Mitigación alternativa:
Si aún no puede actualizar, rechace cualquier token cuyo aud no incluya a su servidor dentro de verifyAccessToken(). Esto soluciona la vulnerabilidad en cualquier versión.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de npm | @modelcontextprotocol/express | >= 2.0.0, < 2.0.2 | 2.0.2 |
| Paquete de npm | @modelcontextprotocol/sdk | >= 1.6.0, < 1.32.0 | 1.32.0 |
| Paquete de npm | @modelcontextprotocol/server | >= 2.0.0, < 2.3.0 | 2.3.0 |
| Paquete de npm | @modelcontextprotocol/server-legacy | >= 2.0.0, < 2.3.1 | 2.3.1 |
Referencias
- https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-rvq5-wwqv-78pq
- https://github.com/modelcontextprotocol/typescript-sdk/commit/40f8f4e229d963cd7fd2890bda2aeebe7005299a
- https://github.com/modelcontextprotocol/typescript-sdk/commit/5a0724d14cf34a27a3b070224d2996cdd611df9f
- https://github.com/modelcontextprotocol/typescript-sdk/commit/5a1867390b91b8836f49af76c45427279f513325
- https://github.com/modelcontextprotocol/typescript-sdk
- Vector CVSS
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N- Debilidad (CWE)
CWE-863- Plataforma
- npm
- Paquete
@modelcontextprotocol/express, @modelcontextprotocol/sdk, @modelcontextprotocol/server- Publicada
- 20.10.2026
- Actualizado
- 20.10.2026 23:18
Fuentes y licencias · Editado o traducido por DockRay; se mantienen los derechos y las licencias de las fuentes.
OSV / GitHub Advisory Database - GHSA-rvq5-wwqv-78pq - CC BY 4.0
Historial de vulnerabilidades: @modelcontextprotocol/sdk
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
- 8
- Primera → última
- 12.2025 10.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Alta 6
- Media 2
Divulgaciones por año
- 2025: 1
- 2026: 7
-
MCP TypeScript SDK: La autenticación bearer del servidor acepta tokens emitidos para otros servicios 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.