CVE-2025-69415
Executive Summary
CVE-2025-69415 is a security advisory affecting Plex Media Server (PMS) versions through 1.42.2.10156. The vulnerability stems from an improper authorization check in the /myplex/account endpoint, where a device token is accepted without verifying whether the device is currently associated with a valid Plex account. This flaw allows an attacker with a valid device token (which could be obtained through other means, such as a compromised device or token leakage) to access account-level information and potentially perform actions on behalf of the user, bypassing the intended authentication and authorization controls.
The vulnerability has a CVSS score of 7.1 (High), indicating a significant risk due to the low attack complexity and network-based attack vector. No public proof-of-concept (PoC) or exploit code is currently available, and the patch status remains unknown. The EPSS score is 0.0%, suggesting low exploitation activity in the wild at the time of analysis, but this may change as more details emerge.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to an NPM, PyPI, Go, or Ruby package. It is a server-side application vulnerability in the Plex Media Server software, which is distributed as a binary package for various operating systems. The risk is primarily to end-users running the affected versions of PMS.
CVSS Breakdown & Threat Level
- CVSS Score: 7.1 (High)
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low (L) – No special conditions or complex attack sequences are required.
- Privileges Required (PR): None (N) – The attacker does not need any prior authentication.
- User Interaction (UI): None (N) – No user action is required for exploitation.
- Scope (S): Unchanged (U) – The impact is confined to the vulnerable component.
- Confidentiality Impact (C): Low (L) – Limited information disclosure.
- Integrity Impact (I): Low (L) – Limited ability to modify data.
- Availability Impact (A): Low (L) – Limited impact on service availability.
Threat Level: High. The combination of network exploitability, low complexity, and no required privileges makes this a serious concern for all Plex Media Server users running the affected versions.
Deep Dive & Mechanics
The vulnerability lies in the /myplex/account API endpoint within Plex Media Server. This endpoint is designed to return account information for the currently authenticated user. The authentication mechanism relies on a device token, which is a unique identifier assigned to a Plex client device when it is linked to a Plex account.
The flaw is that the server does not properly validate whether the device token presented in the request is currently associated with an active Plex account. In a properly functioning system, the server should check that the token corresponds to a device that is currently linked to a user account. However, due to this missing or insufficient check, an attacker can use a device token that may have been previously associated with an account (or obtained through other means) to access the /myplex/account endpoint and retrieve account information.
Attack Scenario:
- An attacker obtains a valid device token. This could happen through:
- Token leakage from a compromised client device.
- Interception of network traffic (if not using HTTPS).
- Exploitation of another vulnerability to extract tokens.
- The attacker sends a request to the
/myplex/accountendpoint of a vulnerable Plex Media Server, including the stolen device token. - The server processes the request and returns account information (e.g., username, email, Plex Pass status) without verifying that the device is currently associated with an account.
- The attacker can then use this information for further attacks, such as social engineering, credential stuffing, or targeting the user's Plex account.
Vulnerable vs. Patched Code
Since no official patch has been released, a direct code comparison is not possible. However, based on the vulnerability description, the issue is in the authorization logic for the /myplex/account endpoint.
Vulnerable Code (Conceptual):
@app.route('/myplex/account')
def get_account():
device_token = request.headers.get('X-Plex-Device-Token')
if device_token:
# Missing check: is the device associated with an account?
account = get_account_by_device_token(device_token)
if account:
return jsonify(account.to_dict())
return jsonify({'error': 'Unauthorized'}), 401
Patched Code (Conceptual):
@app.route('/myplex/account')
def get_account():
device_token = request.headers.get('X-Plex-Device-Token')
if device_token:
# Added check: verify device is currently associated with an account
device = get_device_by_token(device_token)
if device and device.is_associated_with_account():
account = get_account_by_device_token(device_token)
if account:
return jsonify(account.to_dict())
return jsonify({'error': 'Unauthorized'}), 401
The key difference is the addition of a check to ensure the device is currently associated with an account before returning account information.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A valid device token from a Plex client.
- Network access to the target Plex Media Server (typically on port 32400).
Exploitation Steps:
- Obtain a device token. For testing, you can generate one by registering a dummy device with a Plex account (if you have one) or by capturing traffic from a legitimate client.
- Send a request to the
/myplex/accountendpoint with the token in theX-Plex-Device-Tokenheader.
Example using curl:
curl -k -H "X-Plex-Device-Token: YOUR_DEVICE_TOKEN" https://target-plex-server:32400/myplex/account
Expected Response (if vulnerable):
{
"username": "victim_user",
"email": "victim@example.com",
"plexPass": true,
...
}
Note: No public exploit code is available. This is a conceptual demonstration.
Blue Team (Defensive)
Detection:
- Monitor for unusual requests to
/myplex/accountfrom IP addresses that are not associated with known Plex clients. - Look for multiple failed authentication attempts followed by a successful one, which could indicate token brute-forcing.
- Alert on requests with device tokens that are not in the known device inventory.
Mitigation:
- Immediately update Plex Media Server to the latest version once a patch is released.
- If patching is not possible, restrict network access to the Plex server using a firewall or VPN.
- Enable logging and monitor for suspicious activity.
- Implement additional authentication layers, such as requiring a user session cookie in addition to the device token.
Indicators of Compromise (IOCs)
- Network Traffic:
- HTTP requests to
/myplex/accountwith a validX-Plex-Device-Tokenheader from an unexpected source IP. - Unusual patterns of requests to the Plex server from a single IP address.
- HTTP requests to
- Log Entries:
- Plex server logs showing successful access to
/myplex/accountfrom a device token that is not in the known device list. - Repeated 401 errors followed by a 200 response for the same endpoint.
- Plex server logs showing successful access to
- System Artifacts:
- Presence of unauthorized device tokens in server memory or logs.
- Unusual account activity, such as changes to account settings or unauthorized streaming.
Detection Engineering
YARA Rule
rule CVE_2025_69415_Plex_Device_Token_Abuse {
meta:
description = "Detects potential exploitation of CVE-2025-69415 by looking for requests to /myplex/account with a device token"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-69415"
strings:
$endpoint = "/myplex/account"
$header = "X-Plex-Device-Token"
condition:
$endpoint and $header
}
Sigma Rule
title: Plex Media Server Device Token Abuse
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects requests to /myplex/account with a device token, indicating potential exploitation of CVE-2025-69415
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: plex
detection:
selection:
cs-uri-stem: '/myplex/account'
cs-header: 'X-Plex-Device-Token'
condition: selection
falsepositives:
- Legitimate Plex client requests
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-69415 - Plex Media Server Device Token Abuse"; flow:to_server; content:"/myplex/account"; http_uri; content:"X-Plex-Device-Token"; http_header; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Update Plex Media Server: Check for updates from Plex and apply the latest version as soon as it becomes available. The vulnerability affects versions through 1.42.2.10156.
- Restrict Network Access: If an update is not immediately available, restrict access to the Plex server to trusted IP addresses only using a firewall or VPN.
- Monitor Logs: Enable detailed logging on the Plex server and monitor for suspicious requests to
/myplex/account.
Long-Term Mitigations:
- Implement network segmentation to isolate the Plex server from untrusted networks.
- Use strong, unique device tokens and rotate them periodically.
- Enable multi-factor authentication (MFA) for Plex accounts.
- Regularly review and audit device associations in the Plex account.
Vendor Communication:
- Since the patch status is unknown, it is recommended to contact Plex support for an update on the fix timeline.
Valters IT
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.