GHSA-phj7-7j69-xmfh仓库配置命令执行
@cyclonedx/cdxgen >=12.0.0、<12.9.1 及 @cdxgen/cdxgen >=13.0.0 从工作目录加载不安全项目配置。控制仓库者可用扫描用户身份执行代码。
恶意仓库可让 cdxgen 在使用 --no-install-deps 及 secure 模式时执行命令。同批另有解析阻塞、输出符号链接和 Git 重定向问题。@cyclonedx/cdxgen 12.9.1 已修复;@cdxgen/cdxgen 13.x 计划在 13.7.0 修复,公告尚未列出已发布补丁。
11 月 6 日这批公告涉及扫描器处理不可信仓库时的信任边界,不代表已发布的 cdxgen 包遭投毒。维护者将命令执行及解析拒绝服务评为中危,将符号链接及重定向问题评为低危。本文评为 L3,依据是公开演示表明,攻击者控制的仓库可绕过安全工具声明的防护,在 CI 或开发者环境执行代码。尚无已确认的实际受害人数或在野利用。
cdxgen 从当前工作目录加载配置。公告说明四条执行路径:.NET 证据辅助程序接受 dosaiCommand;从 13.4.0 起,Scala 证据功能接受 scalasem-command;动态跟踪接受 traceCmd 及沙箱调整;yargs 18 在扫描器进程内加载 extends。最后一条路径涉及从 12.0.0 起使用 yargs 18 的版本。从另一个可信目录运行可避免加载目标仓库配置,但不能保证其他扫描操作均安全。
其余三项问题各有前提。CrewAI 解析可阻塞 Node.js 事件循环。输出路径末端的符号链接可破坏扫描用户可写的其他文件,包括 Node 权限模型路径之外的文件,但写入内容是生成的 BOM。Git 重定向要求允许列表中的主机能够重定向;未认证的服务端客户端可选择初始仓库 URL。这可能导致内网主机探测、内网仓库 SBOM 泄露或资源耗尽;在 secure 模式之外,配置中的 Git HTTP 请求头也可能发往重定向目标。
四项公告均将 @cyclonedx/cdxgen 12.9.1 列为修复版本。@cdxgen/cdxgen 13.x 尚未列出补丁版本,公告称修复将随 13.7.0 发布;核实时 13.7.0 发布页返回 404。不要将计划版本或已合并补丁当成可安装的修复产物。两个包名的受影响范围不同,且 13.x 处置仍待发布,因此不提供版本检查器。
补丁限制项目配置键,解析路径时处理符号链接,替换不安全的输出链接,采用有界解析,并在启用主机允许列表或 secure 模式时禁用 Git 重定向。此前捆绑 Node 的 Brotli 问题仍记录于 Node.js 10 月事件;这是独立漏洞,仅修复它不能解决本批问题。
GHSA-phj7-7j69-xmfh@cyclonedx/cdxgen >=12.0.0、<12.9.1 及 @cdxgen/cdxgen >=13.0.0 从工作目录加载不安全项目配置。控制仓库者可用扫描用户身份执行代码。
GHSA-4v76-rxfx-x42x@cyclonedx/cdxgen >=12.3.1、<12.9.1 及 @cdxgen/cdxgen >=13.0.0 使用平方复杂度正则同步解析恶意 CrewAI agents.py/tasks.py,可能阻塞 CLI 或 ai-skill/ai 服务端扫描。
GHSA-jgqw-xmhg-9rfm@cyclonedx/cdxgen >=8.1.6、<12.9.1 及 @cdxgen/cdxgen >=13.0.0 跟随输出路径的符号链接,用生成的 BOM 覆盖可预测且可写的目标,而非写入攻击者任意指定的字节。
GHSA-7pxf-2399-4955@cyclonedx/cdxgen >=11.2.5、<12.9.1 及 @cdxgen/cdxgen >=13.0.0 的 Git HTTP 重定向可绕过主机检查,前提是允许的主机能重定向到攻击者选择的目标。
| 产品 | 安全版本 | 备注 |
|---|---|---|
| @cyclonedx/cdxgen 12.x | 12.9.1 | 四项公告均已发布修复 |
| @cdxgen/cdxgen 13.x | 无修复 | 计划在 13.7.0 修复;公告尚未列出已发布补丁 |
2026年11月6日
维护者公开四项公告及演示
同批补丁在 12.9.1 修复 12.x;13.x 源码修复位于 PR 4759,13.7.0 仍为计划版本。
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。