LangGraph:含点号的命名空间标签可访问 Postgres 与 SQLite 存储中的其他命名空间
LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite stores
AI 导读
LangGraph 的 langgraph-checkpoint-postgres 3.1.3 之前版本和 langgraph-checkpoint-sqlite 3.1.2 之前版本存在命名空间越权问题,能用含点号的标签读取、覆盖或删除其他命名空间的数据。Postgres 与 SQLite 存储用点号拼接命名空间标签,使 ("tenant.bob",) 与 ("tenant", "bob") 指向同一存储位置,而原先只有 put 校验标签,get、search、delete、list_namespaces 及直接传给 batch/abatch 的操作均不校验。若应用依赖命名空间隔离用户或租户,并让不可信输入决定标签,就可能波及其他租户的数据;InMemoryStore 按元组比较,不受影响。
推荐理由
公告给出命名空间标签含点号即可跨租户读写的数据存储范围与修复版本,使用 LangGraph 存储的团队可据此自查并升级。