Upgrade figma-developer-mcp to 0.6.3 and review your exec calls
You will upgrade figma-developer-mcp to 0.6.3 or later and check your setup for command execution that receives outside input. This closes a known command injection path that allowed remote code execution.
- Find installsLocal, CI, and container copies
- Upgrade to 0.6.3Pin the version in the lockfile
- Restart serverOld processes keep old code
- Review exec callsRemove untrusted input from shell strings
Why it matters
The figma-developer-mcp server passed unsanitized input parameters to child_process.exec, which let an attacker inject system commands (GitHub Advisory GHSA-gxw4-4fc5-9gr5 (opens external site)). The impact is remote code execution with the server process's privileges, scored CVSS 7.5. The fix shipped in 0.6.3, so any older install stays exposed until you upgrade.
Steps
-
Find every place figma-developer-mcp is installed. Check local dev machines, shared build agents, and any container images that bundle it.
-
Record the installed version in each location. If you installed it globally, check the global package list. If it is a project dependency, check the lockfile.
-
Upgrade to 0.6.3 or later in each location. Pin the exact version in your lockfile so the upgrade does not drift back. Rebuild any container images after the change.
-
Confirm the running process uses the new version. Restart the MCP server, because a process started before the upgrade keeps the old code loaded.
-
Review any code in your setup that builds shell commands from strings. Replace string-built shell commands with calls that take an argument array and do not invoke a shell, so values from outside your control cannot add new commands.
-
Check the server's recent activity for child processes or commands you did not start. Review process logs and shell history from the period before the upgrade.
-
If you find signs of misuse, treat the host as compromised. Rotate any secrets that were available in the environment where the server ran, and review what that environment could access.
Common mistakes
- Upgrading only the machine you use daily and missing CI runners or shared containers.
- Upgrading the package but leaving a long-running server process on the old version.
- Assuming the command path is unreachable because you only use the server locally. Treat every input that reaches a shell as untrusted.
- Skipping secret rotation after finding suspicious activity.
Checklist
0 of 7 done