攻击者利用自定义GPT的SSRF漏洞窃取ChatGPT机密数据

漏洞概述
OpenAI的ChatGPT被曝存在服务器端请求伪造(SSRF)漏洞。该漏洞潜伏在自定义GPT的"Actions"功能中,攻击者可利用该漏洞诱使系统访问内部云元数据,可能导致敏感的Azure凭据泄露。
Open Security研究人员在日常测试中发现该漏洞,凸显了AI工具中用户可控URL处理功能的安全风险。
漏洞原理
SSRF漏洞通常发生在应用程序盲目获取用户提供URL资源时,攻击者可借此强制服务器查询非预期目标。这种攻击可绕过防火墙、探测内网或从特权服务中提取数据。
随着云计算的普及,SSRF威胁日益严重。AWS、Azure和Google Cloud等主要云服务商都暴露了元数据终端(如Azure的http://169.254.169.254),其中包含实例详情和API令牌。开放Web应用安全项目(OWASP)已在2021年将SSRF列入十大安全风险清单。
漏洞发现过程
研究人员在测试ChatGPT Plus的高级功能"自定义GPT"时注意到"Actions"模块。该功能允许用户通过OpenAPI模式定义外部API,使GPT能够调用这些API执行天气查询等任务。

漏洞利用细节
研究人员尝试将API URL指向Azure的实例元数据服务(IMDS),但初始测试失败,因为该功能强制要求HTTPS URL,而IMDS使用HTTP协议。研究人员随后通过外部HTTPS端点(使用ssrf.cvssadvisor.com等工具)进行302重定向,成功绕过限制。虽然服务器跟随了重定向,但Azure在没有"Metadata: true"标头的情况下阻止了访问。
进一步测试发现,通过认证设置中的自定义"API密钥"功能,将密钥命名为"Metadata"并设置值为"true",即可注入所需标头。利用成功后,GPT返回了IMDS数据,包括用于Azure管理API的OAuth2令牌(通过/metadata/identity/oauth2/token?resource=https://management.azure.com/请求获取)。

漏洞影响
该漏洞影响严重。在云环境中,此类令牌可能导致完全入侵。Open Security过往渗透测试显示,SSRF曾导致数百个实例遭受远程代码执行攻击。对ChatGPT而言,该漏洞可能导致生产环境机密泄露,不过研究人员表示这并非他们发现的最严重漏洞。
修复情况
研究人员已及时通过OpenAI的Bugcrowd漏洞报告计划提交该漏洞,OpenAI将其评定为高危漏洞并迅速发布补丁。OpenAI确认已修复该漏洞,防止进一步利用。
