LangChain 于 8 月 19 日 UTC 18:55:57 和 18:56:03,针对 langgraph-api 发布了两份 GitHub Security Advisory——该组件是 LangGraph Platform 背后的 LangGraph Server 运行时,包括官方 Helm chart 在内。两起问题都是生产级 agent 运行时中的跨租户授权失败。
这两个漏洞
CVE-2026-55236(CVSS 5.9,以机密性为主):run 创建路径触发的是 assistants.search 授权事件,而直接读取和 cron 操作触发的是 assistants.read。在那些自定义处理器仅依据 assistants.read 进行 assistant 访问控制、且没有全局回退的部署中,run 创建时根本不会咨询任何处理器——所有者约束随之失效,其他用户的私有 assistant 的 metadata、config 和 context 会在响应中返回。
CVE-2026-55235(CVSS 5.9,以完整性为主):run 或 cron 可以指定一个相对 webhook 目标。随后,传递会通过进程内传输回到同一应用,而认证中间件将其视为内部流量且不会进行认证,从而让请求可以在其他用户的线程上创建 runs 或修改其状态。
常见说法错在何处
这起事件很可能会被报道为 LangGraph 新发现的漏洞。这里有两点需要更正。首先,修复自 2026 年 6 月 11 日起就已在 PyPI 上提供——首个修补版本是 0.10.0,此后又发布了 14 个版本,直到 8 月 18 日的 0.12.6。任何使用相对较新版本的人都从未暴露在风险中。8 月 19 日发生的是披露,而不是发现,更谈不上仓促应对。
其次,“agent 平台中的跨租户数据暴露”这一表述夸大了影响范围。CVE-2026-55236 只会影响那些编写了自定义授权处理器、注册了 assistants.read 或 assistants.search,但没有全局处理器的部署;LangChain 自己的公告称,没有自定义处理器的部署,或在所有事件上都采用等效所有者过滤的部署,不受影响。两份公告都明确写道:"We have no evidence of this behavior occurring in the wild."
漏洞的形态才是故事本身
这两处缺陷都源自同一种失效模式——一个 agent 运行时对同一资源有多条内部路径,其中一条路径上的授权事件名称发生了偏差,再加上一个会完全跳过认证的“内部”传输。Agent 服务器恰恰会累积出这类暴露面:webhook、cron、thread 和 run 都通过不同入口触达共享状态。出于结构性原因,这类问题还会一再出现,而不是因为任何一支团队的疏忽。
