“lc” 漏洞泄露事件:LangChain 框架 9.3 级高危漏洞致提示注入沦为机密窃取工具

阅读量5436

发布时间 : 2025-12-26 14:51:08

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源:securityonline

原文地址:https://securityonline.info/the-lc-leak-critical-9-3-severity-langchain-flaw-turns-prompt-injections-into-secret-theft/

译文仅供参考,具体内容表达以及含义原文为准。

主流大语言模型(LLM)智能体开发开源框架 LangChain 曝出一项高危漏洞。该漏洞编号为CVE-2025-68664,通用漏洞评分系统(CVSS)得分为 9.3,攻击者可利用此漏洞窃取敏感环境变量,或触发非预期的系统操作。
该漏洞的根源在于 LangChain 的数据序列化机制 —— 即把复杂对象转换为可存储、可传输格式的过程。由于框架未对特定字典键名进行恰当的转义处理,恶意数据得以伪装成合法的 LangChain 对象。
问题的核心出在 LangChain 的dumps()dumpd()两个函数上。这两个工具函数本应实现数据的安全序列化,但研究人员发现,它们无法对包含特定键名"lc"的字典进行转义处理。
安全公告中解释道:“lc键是 LangChain 内部用于标记序列化对象的标识符。当用户可控的数据中包含该键结构时,系统在反序列化过程中会将其判定为合法的 LangChain 对象,而非普通的用户输入数据。”
这一看似微小的设计疏漏,却为攻击打开了危险的通道。一旦攻击者能在数据流中注入包含该特定键名的字典 —— 例如通过大语言模型的响应元数据 —— 就可以诱导系统在加载数据的过程中执行内部逻辑。
该漏洞最令人担忧的一点,是其潜在的攻击载体为提示注入攻击
报告指出:“最常见的攻击载体是大语言模型的响应字段,如additional_kwargs(附加参数)或response_metadata(响应元数据),攻击者可通过提示注入手段操控这些字段。”
在实际攻击场景中,攻击者可操纵大语言模型输出特定的 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键会被判定为无害数据,而非可执行的指令。
本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66