IPBUF安全漏洞报告
English
CVE-2025-68665 CVSS 8.6 高危

CVE-2025-68665: LangChain序列化注入漏洞

披露日期: 2025-12-23

漏洞信息

漏洞编号
CVE-2025-68665
漏洞类型
序列化注入
CVSS评分
8.6 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
LangChain, @langchain/core, langchain

相关标签

序列化注入代码执行LangChainJavaScript高危

漏洞概述

LangChain是一个用于构建LLM应用的框架。在0.3.80和1.1.8之前的@langchain/core版本,以及0.3.37和1.2.3之前的langchain版本中,存在一个序列化注入漏洞。该漏洞位于toJSON()方法中,当序列化包含'lc'键的用户数据时,缺少必要的输入验证和转义处理。攻击者可以利用这个漏洞注入恶意对象,在反序列化时执行任意代码或绕过安全限制。

技术细节

漏洞源于toJSON()方法没有对包含'lc'键的对象进行转义。'lc'键是LangChain内部用于标识序列化对象的特殊标记。当用户输入包含这个键时,反序列化过程会将其识别为合法的LangChain对象而非普通数据。攻击者可以构造特定的JSON结构,通过这个机制注入恶意对象。

攻击链分析

STEP 1
收集信息
确定目标系统使用的LangChain版本
STEP 2
构造恶意数据
创建包含'lc'键的序列化对象
STEP 3
注入攻击
通过用户输入将恶意数据传递给toJSON()方法
STEP 4
触发反序列化
当系统反序列化数据时执行恶意对象
STEP 5
获取控制权
实现代码执行或绕过安全检查

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
const maliciousPayload = { "lc": 1, "id": ["恶意的", "对象"] }; // 通过toJSON()或JSON.stringify()触发漏洞

影响范围

@langchain/core < 0.3.80
@langchain/core < 1.1.8
langchain < 0.3.37
langchain < 1.2.3

防御指南

临时缓解措施
如果无法立即升级,需要在调用toJSON()之前对用户输入进行严格的过滤和验证,确保不包含'lc'键。建议实施白名单策略,只允许已知的、安全的数据结构。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表