“lc“键漏洞:LangChain高危缺陷(CVE-2025-68664)使提示注入攻击可窃取机密

研究人员在流行的开源框架LangChain中发现一个关键漏洞,该框架广泛用于驱动大型语言模型(LLM)Agent。该漏洞编号为CVE-2025-68664,CVSS评分高达9.3分,攻击者可能利用该漏洞提取敏感环境变量或触发非预期的系统操作。

漏洞根源:数据序列化缺陷

该漏洞源于LangChain处理数据序列化的方式------即将复杂对象转换为可存储或传输格式的过程。由于未能正确转义特定字典键,恶意数据可伪装成合法的LangChain对象。

问题的核心在于LangChain的dumps()和dumpd()函数。这些工具本应安全地序列化数据,但研究人员发现它们未能转义包含特定键"lc"的字典。

安全公告指出:"'lc'键被LangChain内部用于标记序列化对象。当用户可控数据包含此键结构时,系统在反序列化过程中会将其视为合法的LangChain对象而非普通用户数据。"

攻击机制:提示注入向量

这个看似微小的疏忽打开了危险之门。如果攻击者能将带有该特定键的字典注入数据流(例如通过LLM的响应元数据),就能诱使系统在加载过程中执行内部逻辑。

该漏洞最令人担忧的是其潜在攻击向量:提示注入。报告称:"最常见的攻击向量是通过LLM响应字段(如additional_kwargs或response_metadata),这些字段可通过提示注入进行控制。"

在实际攻击场景中,攻击者可操纵LLM输出特定JSON结构。当应用程序处理此输出时,会在不知情的情况下反序列化恶意负载,后果可能非常严重。

危害影响:从数据泄露到任意代码执行

报告警告:"控制序列化数据的攻击者可提取环境变量中的机密信息。"通过注入类似{"lc": 1, "type": "secret", "id": ["ENV_VAR"]}的负载,攻击者可强制应用程序解析并泄露隐藏的API密钥或密码,特别是在应用程序使用旧版设置secrets_from_env=True运行时。

除数据窃取外,该漏洞还允许在受信任命名空间中实例化任意类,可能导致"网络调用或文件操作等副作用"。

受影响版本及修复方案

该漏洞影响LangChain生态系统的多个版本:

  • LangChain Core:低于0.3.81的版本
  • LangChain:1.0.0至1.2.5之前的版本

维护者已发布修复版本:

  • LangChain 1.2.5
  • LangChain Core 0.3.81

补丁修复了序列化函数中的转义逻辑,确保用户可控的"lc"键被视为无害数据而非可执行命令。

相关推荐
是一碗螺丝粉13 小时前
LangChain 链(Chains)完全指南:从线性流程到智能路由
前端·langchain·aigc
前端付豪13 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
神秘的猪头13 小时前
🔌 给 AI 装上“三头六臂”!实战大模型接入第三方 MCP 全攻略
langchain·llm·mcp
cipher1 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
前端付豪1 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
神秘的猪头1 天前
🔌 把 MCP 装进大脑!手把手带你构建能“热插拔”工具的 AI Agent
langchain·llm·mcp
是一碗螺丝粉2 天前
5分钟上手LangChain.js:用DeepSeek给你的App加上AI能力
前端·人工智能·langchain
是一碗螺丝粉2 天前
LangChain 核心组件深度解析:模型与提示词模板
前端·langchain·aigc
大模型真好玩3 天前
大模型训练全流程实战指南工具篇(七)——EasyDataset文档处理流程
人工智能·langchain·deepseek