← Volver al Blog

Servidores MCP sin autenticación: 38% y 30 CVEs

Voy a empezar por lo obvio: este artículo no habla de tokens que se escapan. Ya escribí antes sobre cómo un servidor MCP puede inflar tu factura de LLM sin que te enteres. Hoy la incomodidad es distinta. En vez de la billetera, el problema son las llaves de la casa, y muchas casas tienen la puerta simplemente sin cerradura.

Servidores MCP sin autenticación: 38% escaneados, 30 CVEs en 60 días

MCP (Model Context Protocol) es la forma estándar en la que un cliente como Claude Desktop conecta modelos con herramientas externas. Es cómodo, se instala con un npm install y en cinco minutos ya estás llamando funciones de GitHub o Slack desde el LLM. Si aún no viste cómo funciona el protocolo, hay un recorrido de MCP en 5 minutos que sirve de mapa. Yo mismo escribí un libro entero sobre implementación segura de MCP después de usarlo en producción para automatizar mi propia contabilidad. La comodidad es real. Lo que sigue también.

Tres escaneos independientes llegaron al mismo 38-40%

La cifra que más se repite en 2026 no salió de un estudio interno. Salió de tres investigaciones separadas que midieron exactamente lo mismo desde ángulos distintos y convergieron.

FuenteMuestraSin autenticación
Wiz Research500+ servidores MCP escaneados38%
Censys12.520 MCP expuestos a internet~40%
Auditoría del registro oficial518 servidores del registro oficial41%

Cuando tres muestras independientes producen la misma curva, ya no es un dato ruidoso, es la línea base del ecosistema. Con la muestra de Censys eso significa alrededor de 5.000 servidores MCP expuestos a internet aceptando cualquier conexión. Cualquier cliente HTTP puede pedir la lista de herramientas y, en muchos casos, ejecutarlas. Los que preferimos no ser noticia deberíamos revisar nuestro mcpServers esta misma semana.

Por qué la superficie de MCP es más grande que la de una API normal

Antes de mirar categorías, conviene entender por qué MCP se rompe distinto. No es que los desarrolladores sean descuidados. Es que MCP suma cuatro propiedades que rara vez conviven en una API tradicional.

Primero, comunicación bidireccional: el servidor MCP puede pedirle cosas al LLM usando sampling, no solo responder. Segundo, multi-tool: en una misma sesión conviven varios servidores MCP a la vez, y ninguno sabe qué hacen los otros. Tercero, control por lenguaje natural: la descripción textual de una herramienta le dice al modelo cómo comportarse, y esa descripción es un vector de ataque en sí misma. Cuarto, permisos altos: MCP suele tener acceso a filesystem, bases de datos y APIs externas. En la industria de seguridad a este combo se le llama el escenario keys to the kingdom. La metáfora es exagerada, pero la mecánica es exacta: comprometer un servidor MCP abre puertas al resto del entorno. Y como la mayoría de las tools por defecto vienen “todo habilitado”, el escenario es más común que la excepción.

OWASP MCP Top 10: las tres categorías que hoy hacen más daño

OWASP publicó su MCP Top 10 en versión beta en 2025. Son diez categorías, pero en la práctica hay tres que concentran los incidentes reales que se están viendo este año.

MCP03 — Tool Poisoning. El atacante mete instrucciones ocultas dentro de la descripción de una tool. La descripción es texto que el modelo lee como parte de su contexto operativo, así que una línea insertada ahí funciona como un prompt privilegiado. Invariant Labs documentó un caso donde un servidor de clima incluía en su descripción instrucciones ocultas para el modelo. El usuario preguntaba por el clima. La conversación salía por la puerta trasera. Nadie audita las descripciones porque, seamos honestos, nadie lee las descripciones.

MCP06 — Prompt Injection vía payloads contextuales. El LLM no distingue entre “esta frase la puso el usuario” y “esta frase venía dentro de un documento que leí”. Basta con que la agenda del correo, una celda oculta de una spreadsheet o un ticket de Jira contenga instrucciones para que el agente las trate como órdenes. Cuando además hay múltiples servidores MCP conectados, la injection puede saltar entre ellos: el input viene por una tool y la acción sale por otra. Es el mismo patrón que en los agentes autónomos donde una web maliciosa engaña al navegador; si te interesa esa vertiente, ya conté cómo terminé poniendo cuatro capas de defensa a un agente de 24 horas.

MCP07 — Autenticación y autorización insuficientes. Aquí vive el famoso 38%. La especificación MCP declara la autenticación como opcional. “Opcional” es un adjetivo que en producción se traduce como “nadie la va a poner”. El caso más claro publicado en 2026 es CVE-2026-32211, un fallo en Azure MCP Server donde faltaba la capa de autenticación entera. No fue que se rompió el candado. Fue que no había candado.

Los CVEs recientes, atribuidos como toca

En dos meses, entre enero y febrero de 2026, se publicaron más de 30 CVEs que apuntan al ecosistema MCP. La categoría más común, según Practical DevSecOps, es shell injection con un 43%. Vale la pena leer bien un par de ellos porque los titulares tienden a mezclarlos con “servidor sin autenticación”, y no es lo mismo.

CVE-2025-6514 — CVSS 9.6. El más grave hasta el momento. Y no es un problema de autenticación de servidor: es una OS command injection en el cliente mcp-remote (paquete npm con más de 437.000 descargas). Cuando el cliente se conectaba a un servidor MCP no confiable, un authorization_endpoint fabricado con cuidado ejecutaba comandos arbitrarios en la máquina del usuario. Afecta versiones 0.0.5 a 0.1.15, parcheado en 0.1.16. La lección incómoda: la superficie de ataque de MCP no es solo el servidor, también es el cliente que confía en lo que el servidor le devuelve.

Palo Alto Unit 42 publicó otro dato para dormir mal: con cinco servidores MCP conectados, un solo servidor comprometido llega a una tasa de éxito del 78,3% para influir en el comportamiento del cliente. Cuantas más tools tienes cargadas, más maneras hay de que una empuje al modelo hacia otra.

El ataque que apunta a la factura, no a los datos

Hasta 2025 los ataques MCP miraban datos: filtrar tokens, exfiltrar archivos, robar sesiones. En 2026 apareció otra familia que apunta directo a lo que a un CFO le duele.

Se llama Overthinking Loop y fue documentada en arXiv 2602.14798. Un servidor MCP malicioso, co-registrado junto a tools normales, induce al modelo a entrar en ciclos de razonamiento que parecen razonables paso a paso. Ninguna llamada individual se ve rara. El agregado hace explotar la cuenta: los autores midieron hasta 142,4× más tokens que la ejecución legítima. Es un DoS que en lugar de tirarte el servicio, te sube la factura. La comunidad ya lo bautizó como Denial-of-Wallet (DoW). El nombre no está en el paper, pero la mecánica sí.

Es el tipo de ataque que un dashboard de “errores 5xx” nunca va a detectar. Todo respondió 200. Todo tardó lo que tenía que tardar. Solo que costó 142 veces más.

Endurecer hoy: seis acciones concretas

Cerrar el 100% de este espacio es imposible. Salir del grupo del 38% es cuestión de una tarde. Estas seis acciones son las que aplico primero cuando reviso un mcpServers ajeno, priorizadas por relación esfuerzo/daño evitado.

  1. Exige autenticación en cada servidor MCP que expongas. OAuth 2.1, mTLS o al menos API keys con rotación. Si no soporta ninguna, no lo pongas detrás de un endpoint público.
  2. Actualiza mcp-remote a 0.1.16 o superior si tu cliente lo usa (CVE-2025-6514). Casi todos los tutoriales de instalación que aparecen en Google siguen apuntando a versiones vulnerables.
  3. Mínimo privilegio en tools. No habilites el “combo completo” de una integración; activa solo las tools que realmente necesita el agente. Cada tool extra amplifica el 78,3% de Unit 42.
  4. Audita las descripciones de tools a ojo. Es tedioso. Es el único MCP03 al que hoy se le puede sacar la vuelta sin herramientas comerciales. Cinco minutos por servidor, una vez al mes.
  5. Fija versiones de dependencias. Los ataques de supply chain (typo-squatting de nombres tipo mcp-server-s1ack) son el vector barato favorito. package-lock.json no es un adorno.
  6. Pon un humano en el loop para operaciones sensibles. Escritura en producción, transferencias, borrados. Si el agente puede hacerlo solo a las 3am, alguien podría hacerlo por él a las 3am.

Ninguna de las seis pide presupuesto. Todas piden cambiar el reflejo de “lo conecto porque funciona” por “lo conecto después de mirarlo”. Ese es el cambio caro.

Cierre

MCP está entrando en la infraestructura de agentes al ritmo que en su momento entró Kubernetes en la de contenedores. La diferencia es que Kubernetes tuvo diez años para hacer que la autenticación fuera parte del default. MCP, hoy, la trata como opcional, y el 38% del ecosistema le tomó la palabra. Los 30 CVEs de 60 días, el CVSS 9.6 en el cliente, el 142,4× en la factura y el 78,3% de éxito con cinco servidores no son un pronóstico apocalíptico: son mediciones de este año, cada una con su fuente. La buena noticia es que la lista de defensas mínimas cabe en seis puntos y en una tarde.

Si quieres el mapa completo de las 10 categorías OWASP MCP con escenarios de ataque y contramedidas por capa, escribí un libro sobre esto (por ahora solo hay edición en inglés): MCP Security in Practice. Empezó como notas mías después de usar MCP con freee para hacer la contabilidad. Terminó como el material que hubiese querido tener antes de conectar el primer servidor.


ken imoto · WebRTC & Voice AI engineer · kenimoto.dev

Convirtiendo LLMs de Mentirosos en Expertos Libro relacionado Convirtiendo LLMs de Mentirosos en Expertos Ingeniería de Contexto desde cero — RAG, MCP, CLAUDE.md y Agentic RAG, con benchmarks que muestran hasta 4,6× de mejora Ver la página del libro →