标签: Python 包

LangChain Core 存在严重漏洞,可导致提示注入与数据泄露

HackerNews 编译,转载请注明出处: LangChain Core(langchain-core)是 LangChain 生态的核心 Python 包,为构建大模型应用提供通用接口与模型无关工具。安全研究员 Yarden Porat 于 2025 年 12 月 4 日披露了一个严重漏洞(CVE-2025-68664,CVSS 9.3),代号“LangGrinch”。 公告指出: “LangChain 的 dumps() 与 dumpd() 函数存在序列化注入缺陷。函数在序列化自由格式字典时,未对含有内部保留键 ‘lc’ 的字典做转义。’lc’ 被 LangChain 用于标记已序列化的对象。当用户可控数据携带该键结构时,在反序列化阶段会被当成合法的 LangChain 对象,而非普通用户数据。” 漏洞根因: dumps()/dumpd() 未转义用户可控字典中的 “lc” 键;当后续用 load()/loads() 反序列化时,这些数据被当作有效 LangChain 对象实例化,而非普通输入。攻击者可通过 metadata、response 等字段注入恶意对象结构。虽然无法加载任意外部类,但可在受信任的 LangChain 命名空间(如 langchain_core、langchain_community)内实例化 Serializable 子类,其中部分类在初始化时会产生副作用。 Cyata 研究员 Yarden Porat 强调: “一旦攻击者能让 LangChain 的编排循环先序列化、再反序列化带有 ‘lc’ 键的内容,就能实例化任意不安全对象,打开多种攻击面。” 潜在危害: 从环境变量泄露机密 在受信任命名空间实例化危险类 通过 Jinja2 模板造成代码执行 借助提示注入,把恶意对象藏进用户可控字段(如 metadata) Porat 指出,该漏洞尤为严重: 位于 langchain-core 本体,而非外围工具或极端场景; dumps()/dumpd() 是框架核心 API,全球累计安装量数亿; 单条提示即可间接触发——LLM 输出可能影响后续被序列化的 metadata,正常业务流程就能完成攻击,隐蔽且影响面广。 修复版本:1.2.5、0.3.81 已发布补丁,请立即升级。 消息来源: securityaffairs.com ; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc”并附上原文