漏洞概述 漏洞名称 RCE in "json" mode of JsonPlusSerializer 受影响版本 langgraph-checkpoint 3.0 漏洞描述 在 langgraph-checkpoint 版本 3.0 之前,JsonPlusSerializer 在“json”序列化模式下对反序列化保存的 payload 存在远程代码执行(RCE)漏洞。如果攻击者能够导致应用程序在序列化模式下保存恶意 payload,在反序列化过程中可以执行任意 Python 代码。 漏洞细节 受影响文件:jsonplus.py 当尝试使用 "msgpack" 进行序列化失败时,会回退使用 "json" 模式。如果攻击者能够触发此模式中的恶意 payload,反序列化将允许执行任意函数。 影响对象 所有 langgraph-checkpoint 版本低于 3.0 的用户,如果: 1. 允许不受信任或用户提供的数据保存为 checkpoint。 2. 使用默认序列化器或可能回退到 "json" 模式的 JsonPlusSerializer。 修复版本 langgraph-checkpoint 3.0.0 攻击证明 (PoC) 运行此 PoC 会将文件 /tmp/pwned 写入磁盘,演示代码执行。 修复方法 引入构造器反序列化的 allow-list,限制允许的 "id" 路径,只允许序列化构造时显式批准的模块/类组合。 缓解措施 立即升级到 langgraph-checkpoint==3.0.0。