“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"键被视为无害数据而非可执行命令。

相关推荐
不会编程的懒洋洋1 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
微软技术分享2 小时前
本地部署千问 2.5-1.5B-GGUF + LangChain 封装学习
数据库·学习·langchain
FrontAI2 小时前
深入浅出 LangGraph —— 第11章:子图:构建模块化Agent
人工智能·langchain·ai agent·langgraph
时空系2 小时前
第10篇:归属权与借用——Rust的安全保障 Rust中文编程
开发语言·安全·rust
Chockmans3 小时前
春秋云境CVE-2017-3506
安全·web安全·网络安全·系统安全·安全威胁分析·春秋云境·cve-2017-3506
开开心心就好3 小时前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
暗不需求3 小时前
深入理解 LangChain:AI 应用开发框架的工程化实践
前端·langchain
BU摆烂会噶3 小时前
【LangGraph】持久化实现的三大能力——人机交互
数据库·人工智能·python·langchain·人机交互
qq_283720053 小时前
Python+LangChain 入门到实战全教程+ 企业级案例
人工智能·langchain·#大模型·#llm·#rag·#ai 应用开发·#智能体