ChatGPT中存在一个概念验证漏洞链,该漏洞结合了防护机制绕过和路径遍历缺陷,可能允许攻击者通过平台的文件下载机制访问受限系统文件(如/etc/passwd)。安全研究员zer0dac表示,OpenAI已通过重新设计URL下载流程修复了该问题。
Part01
漏洞利用链分析
该漏洞利用链包含四个步骤,从常规文件上传开始,最终实现本地文件包含(LFI):
- 文件上传:研究员向ChatGPT上传了一个虚拟HTML文件进行审查,建立了一个沙盒文件路径
- 防护机制绕过:当直接请求文件下载链接时,ChatGPT以临时存储后的标准删除策略为由拒绝请求。这对应OWASP LLM02:2025(敏感信息泄露)分类
- LLM社会工程:研究员首先请求编辑上传的文件,然后声称文件"被意外删除"并要求重新下载链接,从而诱骗ChatGPT生成有效的下载URL,完全绕过删除限制
端点拦截:生成的链接暴露了后端API结构:/backend-api/conversation/{id}/interpreter/download?message_id={id}&sandbox_path=/mnt/data/test.html
Part02
文件下载流程漏洞详情
获得有效下载端点后,研究员针对sandbox_path参数发起攻击。直接使用../../../../etc/passwd这样的简单遍历载荷很可能会触发路径验证检查并被阻止。
研究员采用的方法是保留原始合法路径,在其后附加遍历序列:/mnt/data/test.html/../../../../etc/passwd。该技术利用了路径规范化不一致的缺陷,欺骗验证逻辑将请求视为合法文件访问,同时仍能解析沙盒目录外的遍历路径。当在浏览器中直接访问这个精心构造的URL时,成功返回了ChatGPT执行环境中/etc/passwd文件的内容。
Part03
影响与启示
根据研究员的说明,实际影响有限,因为ChatGPT的代码执行环境是沙盒化的,访问/etc/passwd这样的通用系统文件不会直接导致敏感数据泄露。但这一发现强调了AI安全的关键点:单独发现的LFI和路径遍历原语可能成为更大规模漏洞利用链的构建模块,特别是在具有更广泛文件访问权限或与其他服务交互的Agent或工具增强型LLM架构中。
OpenAI已通过更改URL下载流程设计修复了该漏洞,但未公开具体技术细节。此案例凸显了LLM安全中两类风险的交汇:基于提示的防护机制操控(通过对话框架让模型覆盖自身安全逻辑)和AI生成后端端点中出现的传统Web应用漏洞(路径遍历)。
随着LLM平台越来越多地处理文件上传、代码执行和动态URL生成,研究人员认为需要同时对这些系统应用AI特定的红队测试和传统Web应用安全测试。
参考来源:
ChatGPT File Download Flow Vulnerability Could Be Abused to Access System Files
https://cybersecuritynews.com/chatgpt-file-download-flow-vulnerability/