CVE-2025-58763
Full vulnerability record from the local CVENow database.
Description
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.
View original CVE JSON
{
"id": "CVE-2025-58763",
"sourceIdentifier": "[email protected]",
"published": "2025-09-09T21:15:38.563",
"lastModified": "2026-10-19T17:10:00.173",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "Tautulli es una herramienta de monitoreo y seguimiento basada en Python para Plex Media Server. Una vulnerabilidad de inyección de comandos en Tautulli v2.15.3 y anteriores permite a los atacantes con privilegios administrativos obtener ejecución remota de código en el servidor de aplicaciones. Esta vulnerabilidad requiere que la aplicación haya sido clonada de GitHub e instalada manualmente. Cuando Tautulli se clona directamente de GitHub y se instala manualmente, la aplicación gestiona las actualizaciones y el versionado a través de llamadas al comando 'git'. En el código, esto se realiza a través de la función 'runGit' en 'versioncheck.py'. Dado que 'shell=True' se pasa a 'subprocess.Popen', esta llamada es vulnerable a inyección de comandos, ya que los caracteres de shell dentro de los argumentos se pasarán al shell subyacente. Una ubicación concreta donde esto puede ser activado es en el endpoint 'checkout_git_branch'. Este endpoint almacena un nombre de rama y remoto proporcionado por el usuario en las claves de configuración 'GIT_REMOTE' y 'GIT_BRANCH' sin sanitización. Posteriormente, estas claves se recuperan y se pasan directamente a 'runGit' utilizando una cadena de formato. Por lo tanto, la ejecución de código puede obtenerse utilizando la interpolación '$()' en un comando. La versión 2.16.0 contiene una solución para el problema."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "Tautulli",
"product": "Tautulli",
"versions": [
{
"version": "< 2.16.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H",
"baseScore": 8.0,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "HIGH",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.3,
"impactScore": 6.0
},
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 7.2,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "HIGH",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.2,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2025-09-10T13:32:29.871622Z",
"id": "CVE-2025-58763",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-78"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:tautulli:tautulli:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.16.0",
"matchCriteriaId": "2DC34660-238E-4602-816E-D7DA8D91E923"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/Tautulli/Tautulli/security/advisories/GHSA-jrm9-r57q-6cvf",
"source": "[email protected]",
"tags": [
"Exploit",
"Vendor Advisory"
]
}
]
}