CVE-2026-82217 涉及 Eclipse Theia 1.73.0 至低于 1.75.0 版本。在 AI“Agent Mode”中,文件编辑工具——writeFileContent、suggestFileContent 以及相关的替换和状态辅助函数——会解析模型提供的路径,却没有验证其是否属于工作区。相对路径 ../.bashrc、绝对路径或 ~ 展开,都会在工作区之外写入或删除文件,且使用的是后端用户的操作系统权限。在 Agent Mode 中,这些编辑会在没有确认对话框的情况下直接执行。将内容写入 ~/.ssh/authorized_keys 或某个 shell 启动文件,就会进一步升级为对后端的代码执行。CVSS 3.1 评分为8.8,由 NVD 赋分,而非自评。
没人看得见的修复
该安全公告只引用了一个提交。这个提交隶属于一个标题为“ai-ide: add Memory prompt capability”的拉取请求。它确实触及了存在漏洞的文件——file-changeset-functions.ts 和 workspace-functions.ts——但从标题和描述来看,这是一项功能更新。阅读 1.75.0 版本说明的管理员,完全看不出升级其实关闭了一条路径穿越到 RCE 的攻击链。
两个时间空档
向 Eclipse 报告:7 月 24 日。修复提交:8 月 11 日。包含该修复的版本:8 月 27 日。安全公告:8 月 31 日。受影响的 1.73 和 1.74 版本在报告后仍部署了大约两个月,而修复在公开仓库中停留了20 天才披露——任何查看提交差异的人都能读到,任何只看安全公告的人都看不到。
缩写掩盖了什么
“Theia 修补了一个漏洞”给人的印象是补上了一个缺失的检查。但 Eclipse 自己的报告描述的是一个不完整的修复:名为 ensureWithinWorkspace 和 resolveToUri 的保护在解析层早已存在,而影响最大的工具绕过了它们。保护措施本来就有,只是没有在最关键的地方生效——这是另一种失败模式,也更难通过审查发现。
为何这具有普遍性
这并不是理论上的提示注入攻击。这是一条完整的攻击链:外部内容、模型输出、文件路径、写出工作区之外、在主机上执行代码——而且没有用户确认,因为自动应用本就是这套设计的一部分。任何把模型提供的路径与自动应用结合起来的 IDE 代理,都会呈现同样的风险形态。
