Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain admin session or instance API key
-
DeliverySend import_config/import_database multipart upload
-
ExploitSet filename with ../ traversal segments
-
InstallPath joined to CACHE_DIR without basename check
-
C2File written/overwritten outside CACHE_DIR
-
ExecuteTamper config or drop executable file
-
ImpactService disruption or code execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Tautulli administrator session or possession of the instance API key (PR:H) to reach the import_config or import_database (database_file branch) handlers in plexpy/webserve.py. The attacker must submit a multipart upload whose filename contains parent-directory ('../') segments; exploitation works against default configurations of affected Tautulli versions prior to 2.17.2, with no user interaction. LIMITING FACTORS: the required admin/API-key privilege sharply narrows the attacker population; the write is constrained to filesystem paths the Tautulli process itself is permitted to write, so impact depends on what writable, security-relevant paths (config/startup files) exist for that process. No such special feature toggle is needed beyond having import access. |
| Impact | This is a genuine but conditional integrity/availability risk rather than a trivial-to-exploit critical. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:N/VI:H/VA:H, base 7.0) is internally consistent with the description: network-reachable, low complexity, but requiring HIGH privileges - the caller must already be a Tautulli administrator or hold the instance API key. No CVSS 3.1 vector, EPSS score, KEV entry, or public POC was provided, so exploitation-probability signals are absent - no public exploit identified at time of analysis, and there is no evidence of active exploitation. The 'RCE' tag and the description's 'can enable ... code execution' are plausible (an attacker can overwrite files at paths the Tautulli process can write, which may include config or startup files), but code execution is a downstream, non-guaranteed consequence - the primary, directly-demonstrated impact is arbitrary file write leading to configuration tampering and service disruption, matching VC:N/VI:H/VA:H. The high privilege requirement (admin/API key) is the decisive limiting factor and keeps real-world priority moderate: this is mainly a post-authentication integrity escalation, not a mass-exploitable remote flaw. No conflicting signals were found; the main gap is the absence of EPSS/KEV/POC data to gauge exploitation likelihood. |
| Exploit ScenarioDerived | An attacker who already possesses Tautulli administrator access or the instance API key sends a multipart config or database import request (import_config / import_database) with a crafted filename containing '../' parent-directory segments. Because the filename is joined to CACHE_DIR without basename reduction or a containment check, the upload is written or overwritten outside CACHE_DIR - at any path the Tautulli process can write - before content validation runs, enabling configuration tampering, service disruption, or potentially code execution. No public exploit code was identified, though the fix diff clearly reveals the vulnerable path-join. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Path traversal in Tautulli's configuration and database import handlers allows an authenticated administrator or anyone holding the instance API key to write files outside the intended CACHE_DIR by supplying a multipart filename containing parent-directory ('../') segments, enabling configuration tampering, service disruption, or potentially code execution before any file-content validation occurs. All Tautulli releases prior to 2.17.2 are affected (CPE cpe:2.3:a:tautulli:tautulli:*:*:*:*:*:*:*:*), and the flaw is reachable over the network without user interaction, though the high privilege requirement (PR:H in the CVSS 4.0 vector, PR:H in the independent CVSS 3.1 assessment) sharply narrows the attacker population. No public exploit identified at time of analysis and no CISA KEV listing; vendor-released patch: 2.17.2.
RemediationAI
Upgrade to Tautulli 2.17.2 or later, which is the vendor-released patch; the fix (upstream commit 8c7c1a5ab09a6cca00aec995df07ce24680e7f31) applies os.path.basename() to the uploaded config_file.filename and database_file.filename before joining them to CACHE_DIR, neutralizing parent-directory segments. Consult the vendor advisory at https://github.com/Tautulli/Tautulli/security/advisories/GHSA-8ww5-pp25-3jm8 and the release notes at https://github.com/Tautulli/Tautulli/releases/tag/v2.17.2. If immediate patching is not possible, apply compensating controls: restrict network access to the Tautulli web UI and API to trusted management networks only (its exposure is the primary enabler of remote exploitation, though this breaks remote/Internet-facing dashboards); rotate the instance API key and audit who holds it, since possession of the key or an admin session is the sole prerequisite (this revokes integrations and scripts until updated); run the Tautulli process as a dedicated unprivileged account whose filesystem write permissions are limited to the data/cache directories and can never write to its own startup or system configuration locations, which caps exploitation impact to that account's writable paths but requires care not to break the service's own writes. Note the upload destination is constrained to paths the Tautulli process itself may write, so hardening the process's effective write permissions meaningfully reduces residual risk.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Tautulli is a Python-based monitoring and statistics tool for Plex Media Server, built on the CherryPy web framework (plexpy/webserve.py). The vulnerability is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e. path traversal). In the affected code, the import_config handler and the database_file branch of import_database take the attacker-supplied uploaded filename (config_file.filename or database_file.filename) and pass it directly into os.path.join(plexpy.CONFIG.CACHE_DIR, filename + '.import.db'/'.import.ini') with neither basename reduction nor a containment check on the resulting path. Because os.path.join honors absolute paths and the upload suffix only appends after the traversal sequence is resolved, a filename such as '../../path/to/target' causes the write to land outside CACHE_DIR. The write occurs before file-content validation, so content checks cannot prevent the traversal. The upstream fix (commit 8c7c1a5ab09a6cca00aec995df07ce24680e7f31) wraps both filenames with os.path.basename() and reuses the sanitized name for both the destination path and the subsequent processing, eliminating the directory components. Note the CPE string covers every Tautulli version prior to the fixed release, and the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N) confirms high integrity and availability impact with no confidentiality impact and no scope change.
Know when Tautulli gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Reachable over the network but requires admin/API-key access (PR:H); arbitrary file write yields high integrity and availability impact with no confidentiality disclosure (C:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Tautulli is a Python based monitoring and tracking tool for Plex Media Server. Prior to 2.17.2, the import_config handler and the database_file branch of import_database in plexpy/webserve.py join the attacker-controlled config_file.filename or database_file.filename directly to CACHE_DIR without basename reduction or a containment check. An administrator or caller with the instance API key can submit a multipart filename containing parent-directory segments, causing the upload to be created or overwritten outside CACHE_DIR before file-content validation runs. The write is limited to paths permitted to the Tautulli process, but it can enable configuration tampering, service disruption, or code execution. This issue is fixed in version 2.17.2.
Technical POC Analysis
CWE-22 (path traversal), with CWE-434 as the downstream upload consequence.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A path traversal flaw in Tautulli (all releases prior to 2.17.2) allows an authenticated administrator, or anyone holding the instance API key, to write files outside the intended cache directory, enabling configuration tampering, service disruption, and potentially code execution on the host. Because exploitation requires high privileges, the realistic threat population is narrow - trusted insiders and anyone who has obtained a leaked, shared, or poorly rotated API key - rather than the general internet. Leadership should care because Tautulli is frequently deployed with broad access to media libraries, credentials, and host resources, so a single compromised admin account or API key can become a stepping stone to wider infrastructure compromise.
Apply vendor patch (2.17.2).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Tautulli is a Python based monitoring and tracking tool for Plex Media Server. Rated critical severity (CVSS 9.1), this
Path traversal in Tautulli's /newsletter/image/images API endpoint allows unauthenticated remote attackers to read arbit
Tautulli is a Python based monitoring and tracking tool for Plex Media Server. Rated high severity (CVSS 8.6), this vuln
In Tautulli 2.1.9, CSRF in the /shutdown URI allows an attacker to shut down the remote media server. Rated medium sever
data/interfaces/default/history.html in Tautulli 2.1.26 has XSS via a crafted Plex username that is mishandled when cons
Unauthenticated server-side request forgery in Tautulli versions prior to 2.17.1 allows remote attackers to coerce the T
Remote code execution in Tautulli versions prior to 2.17.1 allows attackers to achieve unauthenticated RCE on fresh inst
Stored cross-site scripting in Tautulli before 2.17.1 allows low-privilege authenticated users (including guests when gu
Cross-site request forgery in Tautulli versions prior to 2.17.1 allows remote attackers to hijack administrator accounts
Remote code execution in Tautulli (Python-based Plex Media Server monitoring tool) versions prior to 2.17.0 allows authe
Cross-site scripting (XSS) in Tautulli 1.3.10 through 2.16.x allows remote attackers to inject malicious scripts via uns
Path traversal in Tautulli's cache deletion API endpoint allows authenticated low-privilege users to delete arbitrary di
EUVD-2026-84067
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB