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

相关推荐
小北方城市网18 小时前
SpringBoot 安全认证实战(Spring Security + JWT):打造无状态安全接口体系
数据库·spring boot·后端·安全·spring·mybatis·restful
weixin_4624462318 小时前
从零搭建AI关系图生成助手:Chainlit 结合LangChain、LangGraph和可视化技术
人工智能·langchain·langgraph·chainlit
CTO Plus技术服务中18 小时前
一栈式、系统性的C、C++、Go、网络安全、Linux运维开发笔记和面试笔记
c++·web安全·golang
mooyuan天天18 小时前
upload-labs通关笔记-第17关文件上传之二次渲染png格式(python脚本法)
web安全·文件上传·文件上传漏洞·upload-labs·二次渲染
人工干智能19 小时前
LangChain 中的「工具(Tool)」和「工具包(Toolkit)」漫谈
langchain·llm
国科安芯19 小时前
尺寸约束下商业卫星编码器系统的抗辐照MCU性能边界研究
运维·单片机·嵌入式硬件·安全·安全威胁分析
Qaz5556669119 小时前
网络安全笔记(第一二天)
笔记·安全·web安全
zhengfei61119 小时前
与人工智能安全相关的优质资源
人工智能·安全
亲爱的非洲野猪19 小时前
如何安全关闭 IIS 的 HTTP 端口
网络·安全·http
hzb6666619 小时前
xd_day28js原生开发-day31 day41asp.net
开发语言·前端·javascript·安全·web安全