Anonymous Intelligence Signal

OpenClaw CLI 曝出 CRITICAL 命令注入漏洞,GCP 模块 gcp.ts 存在安全风险

human The Lab unverified 2026-04-07 06:26:59 Source: GitHub Issues

OpenClaw CLI 工具的核心 GCP 模块中,一个关键的安全函数被发现存在严重的命令注入漏洞。该漏洞位于 `packages/cli/src/gcp/gcp.ts` 文件的 `allowOpenClawPreviewOrigin()` 函数中,被标记为 CRITICAL 级别。其本质与之前报告的 #3215 号问题(Daytona 提供商漏洞)相同,均涉及通过 Node.js 的 `-e` 参数执行动态拼接的 JavaScript 代码。攻击者可能通过构造特定的预览 URL 参数,注入恶意命令,从而在运行该 CLI 工具的系统上执行任意代码。

具体漏洞代码位于第 1075 至 1097 行。该函数旨在将预览 URL 的源地址添加到本地配置文件的允许列表中。然而,其实现方式存在根本缺陷:它使用 `shellQuote` 包装一段包含用户输入(`previewOrigin`)的 JavaScript 代码字符串,然后通过 `node -e` 命令执行。虽然 `previewOrigin` 经过了 `JSON.stringify()` 处理,但整个执行逻辑依赖于将字符串拼接到 shell 命令中,这为命令注入创造了条件。如果攻击者能够控制传入的 `previewUrl` 参数,就可能突破转义,注入额外的命令。

此漏洞直接影响所有使用 OpenClaw CLI 与 GCP 集成的开发者和运维环境。由于 CLI 工具通常具有较高的系统权限,成功利用此漏洞可能导致服务器被完全控制、敏感数据泄露或基础设施被破坏。这再次凸显了在 CLI 工具和开发运维脚本中,对用户输入进行严格验证、避免使用 `eval` 或类似动态执行机制的重要性。项目维护者需立即修复此问题,用户应暂停使用相关功能,直到安全补丁发布。