Npm · @Siteboon/Claude-Code-Ui · CVE-2026-31861
**Name of the Vulnerable Software and Affected Versions**
Cloud CLI versions prior to 1.24.0
**Description**
Cloud CLI (also known as Claude Code UI) is a desktop and mobile UI for Claude Code, Cursor CLI, Codex, and Gemini-CLI. The `/api/user/git-config` endpoint constructs shell commands using user-provided `gitName` and `gitEmail` values, passing them to `child process.exec()`. Input is placed within double quotes, but only double quotes are escaped, leaving backticks (`), `$()` command substitution, and `` sequences vulnerable to interpretation within bash. This allows authenticated attackers to execute arbitrary operating system commands through the git configuration endpoint. The vulnerable code resides in `server/routes/user.js` (lines 58-59). Exploitation involves injecting malicious commands via the `gitName` parameter using command substitution, potentially leading to Remote Code Execution (RCE) as the Node.js process user. The server-wide git configuration can be modified, impacting all git operations. When combined with a bypass for JWT authentication, this can result in unauthenticated RCE.
**Recommendations**
Versions prior to 1.24.0 should be updated to version 1.24.0 or later. Replace `exec()` with `spawn()` using array arguments to avoid shell interpretation. For example, instead of: `await execAsync(`git config --global user.name "${gitName.replace(/"/g, '"')}"`);` use: `await spawnAsync('git', ['config', '--global', 'user.name', gitName]);`.