Skip to main content

Figma MCP Server CVE-2025-53967

HIGH
Unprotected Alternate Channel (CWE-420)
2025-10-08 cve@mitre.org
8.0
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed MCP HTTP endpoint
  2. Delivery
    Send crafted POST with shell metacharacters
  3. Exploit
    Inject into fetchWithRetry curl command
  4. Execution
    Execute OS commands as MCP process
  5. Impact
    Compromise 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 5.8% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

npm figma-developer-mcp fix: 0.6.3

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

Vendor (mitre) PRIMARY 8.0 HIGH
AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
vuln.today AI 9.8 CRITICAL

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).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Adjacent
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
5.8%
Top 7% exploitable
Prevalence
Medium
popular Figma MCP server, typically run locally by developers
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 5.8%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact
High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: +6
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy