langchain序列化漏洞 CVE-2025-68664分析

2026-04-11 14:570阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

langchain序列化漏洞 CVE-2025-68664分析

影响版本

langchain-core < 0.3.81

langchain-core >= 1.0.0 且 < 1.2.5

概要

具体位于这里

from langchain_core.load import dumps, dumpd, load, loads

dumps()dumpd()函数在处理字典对象时没有对lc这个键进行转义

这个键属于内部保留键,如果用户手动添加这个键值,就能伪造成内部的操作

实现窃取环境变量等操作

调试分析/源码逻辑

从loads开始调试

可以清楚的看到经过dumpd()函数的字典中的lc键并没有被转义

1457×431 60.2 KB

步入进beta()装饰器,这个不重要,在return回外部时步入即可

进入loads()函数本身:

@beta() def loads( text: str, *, secrets_map: Optional[dict[str, str]] = None, valid_namespaces: Optional[list[str]] = None, secrets_from_env: bool = True, additional_import_mappings: Optional[dict[tuple[str, ...], tuple[str, ...]]] = None, ignore_unserial

阅读全文
标签:网络安全
问题描述:

langchain序列化漏洞 CVE-2025-68664分析

影响版本

langchain-core < 0.3.81

langchain-core >= 1.0.0 且 < 1.2.5

概要

具体位于这里

from langchain_core.load import dumps, dumpd, load, loads

dumps()dumpd()函数在处理字典对象时没有对lc这个键进行转义

这个键属于内部保留键,如果用户手动添加这个键值,就能伪造成内部的操作

实现窃取环境变量等操作

调试分析/源码逻辑

从loads开始调试

可以清楚的看到经过dumpd()函数的字典中的lc键并没有被转义

1457×431 60.2 KB

步入进beta()装饰器,这个不重要,在return回外部时步入即可

进入loads()函数本身:

@beta() def loads( text: str, *, secrets_map: Optional[dict[str, str]] = None, valid_namespaces: Optional[list[str]] = None, secrets_from_env: bool = True, additional_import_mappings: Optional[dict[tuple[str, ...], tuple[str, ...]]] = None, ignore_unserial

阅读全文
标签:网络安全