社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

ChatGPT文件下载漏洞,攻击者可窃取本地系统文件

FreeBuf • 4 月前 • 219 次点击  
FreeBuf


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/


推荐阅读


电报讨论


扫码加入AI安全交流群



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/198422