技术说明
LangChain 0.3.85 (v0) 和 1.3.3 (v1) 之前的版本包含运行时代码路径,这些路径使用过于宽泛的对象允许列表反序列化运行输入、运行输出或其他应用程序控制的负载。这些路径使用宽松的反序列化设置调用 load(),如果攻击者能够影响流经代理运行的数据(包括通过提示注入、MCP 工具响应或馈送到序列化运行状态的 RAG 检索结果),则可能导致任意代码执行。
攻击途径
能够影响 LangChain 运行输入或输出数据的攻击者(例如通过提示注入到代理工具响应中、恶意 RAG 文档内容或受损的 MCP 服务器响应)可能触发不安全的反序列化路径,在宿主进程中实现代码执行。如果代理处理不受信任的外部数据,则无需身份验证。
受影响系统
LangChain 0.x 版本 0.3.85 之前和 1.x 版本 1.3.3 之前。广泛部署在企业级智能体 AI 管道、RAG 应用程序和 LLM 工具使用框架中。
缓解措施
立即升级到 langchain >= 0.3.85 (v0 分支) 或 >= 1.3.3 (v1 分支)。审计所有处理不受信任外部数据(用户输入、网络内容、文档检索、工具响应)的 LangChain 代理管道,查找潜在的利用路径。检查自定义集成中使用宽松反序列化设置的 load() 的使用情况。