LangGraph 项目是一个功能强大的底层编排框架,被多家科技公司用于构建有状态 AI 智能体。该项目已针对一个远程代码执行(RCE)漏洞发布高严重性安全公告。此漏洞编号为 CVE-2025-64439(CVSS 评分 7.4),存在于 JsonPlusSerializer 组件中,可允许攻击者在受影响系统上执行任意 Python 代码。
鉴于 LangGraph 在管理复杂、长期运行的智能体工作流中的核心作用,以及其每月高达 2000 万次的下载量,该漏洞对使用其实现持久化的应用构成重大风险。
问题的核心在于 LangGraph 检查点序列化器中的危险回退机制。默认情况下,LangGraph 尝试使用 MessagePack(msgpack) 进行序列化。但在 3.0 版本之前,如果某些非法 Unicode 代理值导致序列化失败,系统会回退到“json”模式。
危险在于“json”模式反序列化器处理自定义对象的方式:它支持一种构造函数式格式(由 lc == 2 和 type == “constructor” 定义),允许在反序列化期间重建自定义 Python 对象。攻击者可利用此特性执行任意 Python 代码。
公告解释道:“在此模式下,反序列化器支持构造函数式格式……如果攻击者能够通过恶意有效载荷触发此模式,反序列化过程会允许攻击者在加载时执行任意函数。”
本质上,如果应用程序接受不受信任的数据进入其检查点系统,攻击者可构造恶意有效载荷,以与运行进程相同的权限执行任意命令。在 LangGraph 集成到生产环境智能体或后端服务的场景中,这可能导致完全远程代码执行。
该漏洞影响所有 langgraph-checkpoint 库 3.0 版本之前的用户。
满足以下两个条件的用户风险最高:
- “允许不受信任或用户提供的数据持久化到检查点中”;
- “使用默认序列化器(或显式实例化 JsonPlusSerializer),且可能回退到‘json’模式”。
如果应用程序仅处理可信数据或不允许不受信任的检查点写入,则实际风险较低。
LangGraph 团队已在 langgraph-checkpoint 3.0 版本中发布修复。强烈建议所有用户立即升级。
该补丁通过阻止在易受攻击的“json”模式下反序列化自定义对象解决了问题。通过 langgraph-api 部署的用户,若使用 0.5 版本或更高版本,则不受此漏洞影响。








发表评论
您还未登录,请先登录。
登录