Escudo de Rebinding DNS
detect_dns_rebinding_riskAnaliza el código que arma el transporte HTTP/SSE de un servidor MCP (el endpoint que un cliente usa para hablarle por JSON-RPC) en busca de la ausencia de validación del header Origin (o Host) antes de procesar peticiones entrantes. Sin esa validación, una página web maliciosa que el navegador de la víctima visita puede hacer que el navegador hable directamente con ese servidor MCP — que suele correr en localhost o en la red interna del usuario — como si fuera un cliente de confianza (ataque de "DNS rebinding"): el atacante registra un dominio que primero resuelve a su propio servidor y luego cambia el DNS para que resuelva a 127.0.0.1, y el navegador sigue tratando la página como el mismo origen mientras habla con el servidor local de la víctima. Detecta además un malentendido documentado propio de Garita: creer que bindear el servidor solo a localhost/127.0.0.1 ya protege — eso NO evita el rebinding; la única defensa real es validar el header Origin contra una lista explícita de orígenes permitidos. Motivada por un patrón repetido en 2026, encontrado de forma independiente en tres SDKs/implementaciones de MCP en tres lenguajes distintos: CVE-2026-42559 (CVSS 8.8) en rmcp, el SDK oficial de Rust; CVE-2026-35568 en el SDK de Java; y CVE-2026-59971 en mysql-mcp-server (Python) — todas por la misma causa raíz. Es un análisis estático por patrones de texto sobre el código de configuración del transporte (no abre ningún puerto ni ejecuta nada) — mismo enfoque que detect_ssrf_risk y detect_command_injection_risk. Requiere una llave de acceso válida (usos gratis o créditos) — ver POST /crear-llave.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"codigo": "<codigo>"
},
"name": "detect_dns_rebinding_risk"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes | El código que arma el transporte HTTP/SSE del servidor MCP (constructor de transporte o registro de la ruta), en texto plano. | |
| lenguaje | No | Solo informativo (ej. "python", "javascript") — la detección ya cubre varios lenguajes a la vez, este campo no cambia el resultado. |