针对 OpenAI 的 Codex 的四个 CVE 于 UTC 时间 9 月 1 日 18:30 发布到 GitHub Advisory Database,并且是从 NVD 而非维护者公告进入。每一项都涉及一种由攻击者控制的 .git/config 让 Codex 自己的便利功能转化为代码执行的方式。

其机制

CVE-2026-19590 滥用 core.hooksPath,将其指向攻击者的 git hooks。CVE-2026-19592 利用 core.fsmonitor,其 helper 会在常规元数据收集期间执行。CVE-2026-19591 利用 PowerShell 的 --% 停止解析标记,命令安全解析器会将其误读,从而放行一条未经批准的写文件 git 命令。CVE-2026-19593 通过带有 clean 或 process filter 的 attr.tree 运行攻击者程序。

常见表述哪里说错了

这些漏洞看起来会像四个新出现的缺口。实际上,其中三项已在 5 月中旬修复:对应的修复 pull request 分别于 5 月 15 日、5 月 14 日和 5 月 14 日 合并,因此已发布代码被修复了三个多月,披露空档为 109 至 110 天。真正值得关注的是披露延迟和字段空白,而不是新的暴露面。第二个常见反应——沙箱已经把它拦住了——被这些公告自身的措辞所否定:攻击者代码在 Codex 的命令沙箱之外运行,没有审批提示,而且在两种情况下甚至完全没有任何模型交互。第三,git clone 并不是攻击方式。四项都要求打开一个本地 .git/config 完整保留的仓库——例如 zip 包、复制的目录、共享卷——而普通 clone 不会带上这些内容。

这些记录几乎什么也没告诉你

四项都标注为“unknown” 严重性,并且完全没有 CVSS 评分,无论是 v3 还是 v4。更重要的是,每一项的 vulnerabilities 数组都是空的,因此没有任何公告给出受影响范围或修补版本:记录中根本没有“升级到 X”的信息。第四个 CVE 甚至没有引用任何修复 pull request,使读者无法仅从记录判断它是否已被修复。

这属于哪种模式

这就是 agentic 编程威胁模型最纯粹的形态。执行原语来自智能体的便利性——工作区打开时自动读取 git 元数据——而所有人信赖的沙箱甚至在模型被调用之前就已被绕过。