<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-06T17:42:56.635957+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2026-73222</id>
    <title>CVE-2026-73222 — Claude Code Templates: Unauthenticated OS command injection (RCE) in Claude Code Studio server (--studio)</title>
    <updated>2026-10-06T17:42:56.637851+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> davila7 claude-code-templates</p>
<p>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.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-73222"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-79wm-x847-7cvg</id>
    <title>GHSA-79wm-x847-7cvg — Claude Code Templates: Unauthenticated OS command injection (RCE) in Claude Code Studio server (--studio)</title>
    <updated>2026-10-06T17:42:56.637930+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: claude-code-templates</p>
<p>### Summary
`npx claude-code-templates --studio` launches "Claude Code Studio", an Express HTTP server (`cli-tool/src/sandbox-server.js`, default port 3444) that binds to **all interfaces** (`0.0.0.0`), sets `Access-Control-Allow-Origin: *`, and requires **no authentication**. Two POST endpoints pass attacker-controlled request-body fields into `child_process.spawn(..., { shell: true })`. Because `shell: true` makes Node join the argv array into a single `sh -c` string, the fields are parsed by the shell and metacharacters execute. Any unauthenticated attacker who can reach the port — a malicious web page the developer visits, or anyone on the same LAN — can execute arbitrary OS commands on the developer's machine.</p>
<p>### Details
In `cli-tool/src/sandbox-server.js`:</p>
<p>- `app.listen(PORT, ...)` is called with no host argument, so the server listens on `0.0.0.0` / `::` (reachable from the LAN, not just localhost).
- The CORS middleware sends `Access-Control-Allow-Origin: *` and answers the preflight `OPTIONS` for any origin, so a browser will deliver cross-origin POSTs to it.
- There is no authentication on any endpoint.</p>
<p>The vulnerable sinks:</p>
<p>1. `POST /api/execute` — the `prompt` body field flows into `executeLocalTask()`:
   ```js
   const child = spawn('claude', [finalPrompt], { /* ... */ shell: true });
   The only validation on prompt is a length check (&gt;= 10 chars). With shell: true, finalPrompt is interpreted by the shell.</p>
<p>2. POST /api/install-agent — the agentName body…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-79wm-x847-7cvg"/>
  </entry>
</feed>
