gemini-cli 修复检查点路径穿越漏洞,可致任意 JSON 文件被删读
princeraj2572 · ghdev · 2026-09-24
gemini-cli 仓库的一个 P1 安全 PR 修复了检查点功能的路径穿越漏洞:旧版回退逻辑用 path.join(geminiDir, 'checkpoint-' + tag + '.') 直接拼接原始 tag,path.join 会把 .. 归一化掉,导致 x/../../secret 这类 tag 解析到 checkpoints 目录之外,deleteCheckpoint 可删除、loadCheckpoint 可读取目录外的 . 文件。修复方案是新增 legacyCheckpointPath() 辅助函数,仅当路径是 gemini 目录下直接的扁平 checkpoint-<tag>. 文件时才返回,含路径分隔符或 .. 的 tag 一律视为不存在;同时也挡住 x/../settings 这种留在目录内但指向非检查点文件的 tag。普通扁平 tag 行为不变。PR 附带两个新增测试(修复前失败、修复后 41/41 通过)。
「编程与Agent」频道最新
- Plurai 推出 Agent 仿真测试:让 agent 在数字孪生世界里先失败再修复 — PrajwalTomar_ · 2026-11-11
- AI 做的游戏太难:Claude 6 分钟通关,作者砍 40% 难度 — builderjaydub · 2026-11-11
- Anthropic 推出 Claude Tag,65% 产品代码由内部 AI 生成 — nikola_mr64990 · 2026-11-11
- 评测工作流核心:最大化专家每单位注意力的信息增益 — danshipper · 2026-11-11
- 开源 Node 把 ComfyUI 工作流变一键模型,内置 19 个工作流 — jefoce · 2026-11-11
- Aqua 推出 Notetaker:会议记录经 MCP 直接喂给 AI 智能体 — Scobleizer · 2026-11-11