CVE Catalog

CVE-2025-58763

HighCVSS 8.0
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

High risk
1.68%

77th percentile - higher than 77% of all known CVEs

Summary

Tautulli v2.15.3 and prior contains a command injection vulnerability that allows attackers with administrative privileges to achieve remote code execution on the application server. The vulnerability exists when the application is cloned from GitHub and installed manually, as the `runGit` function in `versioncheck.py` uses `shell=True` in `subprocess.Popen` and user-supplied remote and branch names are not sanitized. The fix is in version 2.16.0.

Risk Assessment

An administrator or attacker with administrative privileges could execute arbitrary system commands, taking control of the Tautulli server and potentially the entire system.

Recommendation

Update Tautulli to version 2.16.0 or later. Restrict administrative privileges to the minimum necessary.

Other vulnerabilities in Tautulli

See all
Original NVD description (English source)

Tautulli is a Python based monitoring and tracking tool for Plex Media Server. A command injection vulnerability in Tautulli v2.15.3 and prior allows attackers with administrative privileges to obtain remote code execution on the application server. This vulnerability requires the application to have been cloned from GitHub and installed manually. When Tautulli is cloned directly from GitHub and installed manually, the application manages updates and versioning through calls to the `git` command. In the code, this is performed through the `runGit` function in `versioncheck.py`. Since `shell=True` is passed to `subproces.Popen`, this call is vulnerable to subject to command injection, as shell characters within arguments will be passed to the underlying shell. A concrete location where this can be triggered is in the `checkout_git_branch` endpoint. This endpoint stores a user-supplied remote and branch name into the `GIT_REMOTE` and `GIT_BRANCH` configuration keys without sanitization. Downstream, these keys are then fetched and passed directly into `runGit` using a format string. Hence, code execution can be obtained by using `$()` interpolation in a command. Version 2.16.0 contains a fix for the issue.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS