Critical LangChain Core Vulnerability Exposes Secrets via Serialization Injection
一项关键安全缺陷已在
LangChain Core(即
该漏洞的编号为 CVE‑2025‑68664,CVSS 评分为 9.3(满分 10.0)。安全研究员 Yarden Porat 于 2025 年 12 月 4 日报告此漏洞,内部代号为 LangGrinch。
项目维护者在安全通告中表示:“LangChain 的
“‘lc’ 键在 LangChain 内部用于标记已序列化的对象。当用户控制的数据中出现该键结构时,反序列化过程会将其当作合法的 LangChain 对象处理,而非普通用户数据。”
根据 Cyata 研究员 Porat 的说明,问题关键在于这两个函数未对包含 “lc” 键的用户字典进行转义。该标记代表 LangChain 框架内部的对象序列化格式。
Porat 进一步指出:“一旦攻击者让 LangChain 编排循环序列化并随后反序列化包含 ‘lc’ 键的内容,就会实例化不安全的任意对象,可能触发多条攻击者友好的路径。”
这可能导致多种后果,包括在反序列化时使用
更进一步,转义缺陷使得攻击者能够通过提示注入在用户可控字段(如 metadata、additional_kwargs、response_metadata)中注入 LangChain 对象结构。
LangChain 推出的补丁在
受 CVE‑2025‑68664 影响的
- >= 1.0.0, < 1.2.5(已在 1.2.5 中修复)
- < 0.3.81(已在 0.3.81 中修复)
值得注意的是,
受影响的 npm 包包括:
- @langchain/core >= 1.0.0, < 1.1.8(已在 1.1.8 中修复)
- @langchain/core < 0.3.80(已在 0.3.80 中修复)
- langchain >= 1.0.0, < 1.2.3(已在 1.2.3 中修复)
- langchain < 0.3.37(已在 0.3.37 中修复)
鉴于漏洞的危害程度,建议用户尽快升级至已修复的版本以获得最佳防护。
Porat 表示:“最常见的攻击向量是通过 LLM 响应字段(如 additional_kwargs 或 response_metadata)进行提示注入,然后在流式操作中进行序列化/反序列化。正是这种 ‘AI 与传统安全’ 的交叉点,让组织措手不及,LLM 输出本质上是一个不可信输入。”
The Last 24 Hours | 安全无小事