El servidor figma-developer-mcp (Model Context Protocol, MCP) corrigió una vulnerabilidad crítica de command injection que posibilitaba ejecución remota de código (RCE). Catalogada como CVE-2025-53967 y valorada en 7,5 CVSS, la falla residía en la cadena de manejo de peticiones al Figma API. Según Imperva, el defecto se activaba en el mecanismo de fallback y resultaba especialmente peligroso en entornos que integran MCP con agentes de IA como Cursor.
Qué se corrigió: ejecución vía shell en el mecanismo de fallback del Figma API
La investigación atribuye el problema a la construcción de comandos del sistema cuando fallaba la solicitud HTTP principal. En src/utils/fetch-with-retry.ts, ante un error de fetch, el servidor invocaba curl mediante child_process.exec, interpolando parámetros controlados por el usuario dentro de una cadena de shell sin saneamiento. Este patrón habilita el uso de metacaracteres (|, >, &&, entre otros) y deriva en RCE con los privilegios del proceso.
Cómo opera la inyección (CWE-78) y por qué es peligrosa
El flujo es directo: si el acceso al Figma API falla, el fallback construye un comando con datos de entrada no validados. La ausencia de escape/validación permite inyectar instrucciones adicionales. Este tipo de vulnerabilidad corresponde a CWE-78 (OS Command Injection), ampliamente documentada por OWASP en la categoría de Injection. En la práctica, un atacante puede ejecutar binarios arbitrarios, exfiltrar secretos y pivotar lateralmente. En terminología MITRE ATT&CK, el comportamiento se alinea con T1059: Command and Scripting Interpreter (p. ej., shell en sistemas Unix).
Vectores de ataque: red local y DNS rebinding contra servicios MCP
Imperva advierte que un adversario en la misma red que la víctima —por ejemplo, en un Wi‑Fi público o en un segmento corporativo comprometido— puede enviar solicitudes especialmente diseñadas al MCP vulnerable para conseguir RCE. Además, un escenario de DNS rebinding permite redirigir a la víctima a un sitio malicioso que reasigna dominios hacia direcciones locales, alcanzando servicios expuestos en localhost. En el contexto de Framelink Figma MCP, el riesgo se amplifica por la inyección indirecta de prompt: un agente de IA puede ser inducido a acciones imprevistas, aumentando la superficie de ataque y la probabilidad de fuga de datos.
Parche disponible y medidas técnicas: migrar de exec a execFile
El fallo quedó resuelto en figma-developer-mcp 0.6.3, publicada el 29 de septiembre de 2025. Se recomienda actualizar de inmediato. La mitigación clave es sustituir child_process.exec por child_process.execFile, que ejecuta binarios sin pasar por la interpretación del shell, reduciendo de forma sustancial el riesgo de inyección.
Complementariamente, adopte controles defensivos: validación y normalización estricta de entradas; principio de mínimo privilegio para la cuenta del servicio MCP; segmentación y allowlisting de orígenes en firewall local; restricción de dominios de confianza para bloquear DNS rebinding; auditoría de todos los mecanismos de fallback y registro explícito de errores sin recurrir a rutas de degradación inseguras. Estas prácticas están alineadas con guías de OWASP y con la reducción de superficie de ataque recomendada en entornos DevSecOps.
Implicaciones para herramientas de desarrollo con IA
El incidente pone de relieve los riesgos arquitectónicos en herramientas de desarrolladores integradas con IA. Servicios locales asumidos como “seguros por defecto” se convierten en puntos de entrada si automatizan llamadas externas con datos no confiables. La adopción de agentes inteligentes expande el perímetro de confianza y hace imprescindible que la seguridad evolucione a la par de la automatización: una debilidad en la cadena de integración (MCP, complementos, lógicas de retry/fallback) puede desembocar en compromisos y filtraciones de información sensible.
Actualice sin demora a figma-developer-mcp 0.6.3 o superior, desactive fallbacks peligrosos, migre a execFile, valide entradas y monitoree la actividad de red. Combine controles técnicos y medidas organizativas para disminuir la probabilidad de explotación de CVE-2025-53967 y reforzar la resiliencia de su entorno de desarrollo.