Figma MCP Server CVE-2025-53967
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed MCP HTTP endpoint
-
DeliverySend crafted POST with shell metacharacters
-
ExploitInject into fetchWithRetry curl command
-
ExecutionExecute OS commands as MCP process
-
ImpactCompromise developer host
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V13 - Configuration Unprotected alternate channel
|
| Exploitation Conditions | The attacker must be able to reach the MCP server's HTTP transport and submit input that flows into the fetchWithRetry curl command; in versions before 0.6.3 the HTTP server was not restricted to localhost, so it could be network-reachable without authentication. No credentials, user interaction, or special feature toggles beyond running the HTTP server mode are required. The key limiting factor is network exposure: because MCP servers are commonly bound to the local machine (and 0.6.3 enforces localhost-only binding), realistic exploitation depends on the server being exposed to the attacker's network segment or host. |
| Impact | This is an unauthenticated OS command injection (CWE-420 / command injection) in a popular developer-facing MCP server, placing it toward the genuine-priority end rather than high-CVSS-but-low-real-risk. Signals partly align and partly conflict: the input CVSS of 8.0 (CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N) confirms no privileges and no user interaction, but understates the vuln by choosing AV:A (adjacent), AC:H, and A:N - for a simple shell-metacharacter injection reaching a curl command, AV:N/AC:L with availability impact is more defensible (see assessed vectors). EPSS is elevated at 5.83% (93rd percentile), indicating above-average predicted exploitation likelihood, consistent with a straightforward, well-documented RCE. The Imperva research writeup publicly details the RCE, so technique knowledge is in the open, but per the precision rules there is no POC=YES or KEV flag in the input, so this is scored as 'no public exploit identified at time of analysis' and NOT active exploitation. The main real-world mitigant is deployment pattern: MCP servers are typically run locally by individual developers, and the 0.6.3 fix binds the HTTP server to localhost - so widespread internet-facing exposure is likely limited, suggesting opportunistic or local-network risk more than mass remote exploitation. |
| Exploit ScenarioDerived | An attacker who can reach the Framelink Figma MCP Server HTTP endpoint (pre-0.6.3 the server was not restricted to localhost) sends a crafted HTTP POST containing shell metacharacters in a field that flows into the fetchWithRetry curl invocation. The unsanitized input breaks out of the intended command and executes arbitrary OS commands with the privileges of the MCP process, yielding host compromise. No POC is flagged in the input, though Imperva has published a technical analysis of the RCE. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Unauthenticated operating system command injection in Framelink Figma MCP Server (published as GLips/Figma-Context-MCP) versions before 0.6.3 lets a remote attacker who can reach the server's HTTP transport run arbitrary OS commands with the privileges of the MCP process. A crafted HTTP POST carrying shell metacharacters reaches an input path that is passed unsanitized into the fetchWithRetry curl invocation, so the injected command executes on the host. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) reflects an unauthenticated, network-reachable, high-impact flaw, and while EPSS is elevated at 5.83% (93rd percentile), no public exploit has been identified at time of analysis and there is no CISA KEV listing.
RemediationAI
Upgrade to Framelink Figma MCP Server / Figma-Context-MCP v0.6.3 or later, which validates user input and restricts the HTTP server to localhost only (vendor-released patch; see https://github.com/GLips/Figma-Context-MCP/releases/tag/v0.6.3 and PR #246). Until upgrading, the single most effective compensating control is to bind the MCP HTTP server to loopback / localhost and ensure it is not reachable from any untrusted network segment, since pre-0.6.3 builds do not enforce localhost-only binding; the trade-off is that remote clients must instead connect via a local tunnel or proxy, adding setup overhead. Additionally, restrict inbound access to the MCP HTTP port at the host firewall or network layer so only trusted sources can reach it, and avoid running the MCP process with elevated privileges so that any injected command executes with minimal rights. Organizations that cannot immediately patch should treat any host running a pre-0.6.3 MCP HTTP endpoint as potentially exposed and either shut the endpoint down or isolate it.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Framelink Figma MCP Server is an implementation of the Model Context Protocol (MCP), a developer tooling standard that exposes capabilities (here, Figma design retrieval) to AI clients over a transport that can include an HTTP server. The vulnerable code path lives in src/utils/fetch-with-retry.ts, where the fetchWithRetry helper constructs an OS-level curl command and executes it via a shell. Because user-supplied request input flows into that command without proper sanitization or shell-escaping, shell metacharacters allow command injection - the root cause class reflected by the CWE-420 (Unprotected Alternate Channel) mapping, where the exposed HTTP transport acts as an alternate, insufficiently protected channel into a shell-executing function. The upstream fix in v0.6.3 (#246) does exactly two things: it validates user input and it binds the HTTP server to localhost only, confirming that both input handling and network exposure were contributing factors.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
Unauthenticated OS command injection via a crafted HTTP POST with simple shell metacharacters gives AV:N/AC:L/PR:N/UI:N and full C/I/A compromise of the MCP host (S:U).
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
Framelink Figma MCP Server before 0.6.3 allows an unauthenticated remote attacker to execute arbitrary operating system commands via a crafted HTTP POST request with shell metacharacters in input that is used by a fetchWithRetry curl command. The vulnerable endpoint fails to properly sanitize user-supplied input, enabling the attacker to inject malicious commands that are executed with the privileges of the MCP process. Exploitation requires network access to the MCP interface.
Executive ViewAI
Framelink Figma MCP Server (GLips/Figma-Context-MCP) versions before 0.6.3 contain an unauthenticated remote operating system command injection flaw that can allow an attacker with network access to the HTTP transport to run arbitrary commands with the privileges of the MCP process, posing a high-impact risk of host compromise. No public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis. Leadership should ensure affected instances are isolated and monitored until a fix is available.
Restrict network access to the MCP server's HTTP transport to trusted internal networks only; disable HTTP transport if not required; deploy WAF/reverse proxy to filter shell metacharacters in POST requests; run MCP process with least privilege; monitor for anomalous command execution or outbound connections.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
NVD
CVE.org
EPSS
GitHub
Exploit-DB