Skip to main content

Tautulli CVE-2026-54915

| EUVDEUVD-2026-84068 MEDIUM
URL Redirection to Untrusted Site (Open Redirect) (CWE-601)
2026-09-21 GitHub_M
5.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft link with whitespace-laden redirect_uri
  2. Delivery
    Deliver via phishing to victim
  3. Exploit
    Victim clicks Tautulli /auth/redirect link
  4. Execution
    urljoin resolves to attacker origin
  5. Impact
    Redirect to phishing/credential capture

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the default root HTTP_ROOT configuration of Tautulli - instances deployed under a custom non-root HTTP_ROOT path prefix are explicitly NOT affected. Exploitation is unauthenticated against the /auth/redirect endpoint but requires user interaction: the victim must follow an attacker-crafted link containing tab, line-feed, or carriage-return characters in the redirect_uri parameter. Impact is limited to redirecting the user off-site (phishing / post-login redirect-flow abuse); there is no direct code execution or data compromise on the Tautulli host itself.

Impact

This is a moderate-severity, low-priority open redirect (CWE-601) in Tautulli. The vendor CVSS of 5.4 (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N) is consistent with the description: network-reachable and unauthenticated, but requiring victim interaction (UI:R) to click a crafted link, with only limited confidentiality/integrity impact and no availability impact. No EPSS score, no CISA KEV listing, and no public POC are present in the provided intelligence - the exploitation signal is therefore weak. The only cross-source corroboration comes from the vendor's own GitHub Security Advisory (GHSA-7c9r-fhj9-87xm) and the fix commit, which confirm the mechanism. Open redirects are rarely mass-exploited on their own; they are chained into phishing or OAuth/post-login redirect abuse. No conflicting signals were found, but exploitation is meaningfully gated: it only works under the default root HTTP_ROOT configuration, so deployments behind a custom non-root path prefix are not vulnerable. Overall this is a real but low-urgency issue - patch on a normal cadence rather than emergency.

Exploit ScenarioDerived

An attacker crafts a link to a victim's Tautulli instance whose /auth/redirect redirect_uri parameter embeds tab/CR/LF characters, which survive the incomplete slash-stripping and cause urllib.parse.urljoin to resolve to an attacker-controlled external origin. The victim clicks the link, trusts the legitimate Tautulli hostname, and is silently redirected to a phishing page or an abused post-login redirect flow. No public exploit code is identified in the provided data, though the fix commit reveals the exact bypass characters.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 21, 2026

Open redirect in Tautulli prior to 2.17.2 lets an unauthenticated attacker redirect a victim off-site via the /auth/redirect endpoint, enabling phishing and post-login redirect-flow abuse; the CVSS vector (AV:N/AC:L/PR:N/UI:R) confirms no authentication is needed but the victim must click a crafted link. Only instances running the default root HTTP_ROOT configuration are exploitable - deployments with a custom non-root HTTP_ROOT path prefix are not affected. No public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV, so this is a moderate-severity, low-priority targeted-phishing risk rather than a mass-exploitation threat; a vendor-released patch is available in 2.17.2.

RemediationAI

Vendor-released patch: upgrade to Tautulli 2.17.2 or later, which is the only release containing the fix; the change installs in commit 07f9beaa0286f1ab3b5e6be9726c5b2de07ee9dd by replacing redirect_uri.strip('/') with redirect_uri.strip('/ \t\r\n') and adding @requireAuth() to the redirect handler. Where immediate upgrade is not possible, the most effective compensating control is to run Tautulli under a custom non-root HTTP_ROOT path prefix, which the advisory states is explicitly not affected by this bypass - the trade-off is that this changes all access URLs and requires adjusting reverse-proxy rules and bookmarks. Alternatively, an upstream reverse proxy (nginx/Apache) can be configured to reject or normalize requests to /auth/redirect whose redirect_uri query parameter contains encoded or literal %09, %0A, or %0D control characters, at the cost of potentially breaking legitimate redirects that carry unusual whitespace and of requiring ongoing rule maintenance. Note that because exploitation is client-side, patching affected users' browsers or blocking external navigation cannot fully compensate on the server side; blocking outbound redirect chains at the browser or mail-gateway level only reduces the phishing payoff and does not remove the vulnerable code path.

Affected VersionsENISA

Tautulli < 2.17.2

Affected Packages

euvd tautulli fix: 2.17.2

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

The flaw is a classic CWE-601 URL redirection to an untrusted site, rooted in incomplete input sanitization of the user-controlled redirect_uri parameter in plexpy/webauth.py. The pre-fix code called redirect_uri.strip('/'), which removes only forward slashes and preserves tab, line-feed, and carriage-return characters. Under the default root HTTP_ROOT configuration, CherryPy's HTTPRedirect handler concatenates the HTTP_ROOT prefix with the attacker-supplied value and passes it to urllib.parse.urljoin; RFC 3986-compliant URL parsers strip leading tab/CR/LF characters before resolving a reference, so a value like "\t//evil.example" survives the slash-stripping and urljoin resolves it to an attacker-controlled external origin. The patched commit (07f9beaa0286f1ab3b5e6be9726c5b2de07ee9dd) widens the strip call to strip('/ \t\r\n') and adds a @requireAuth() decorator on the affected handler, closing both the whitespace bypass and the unauthenticated reachability. Because the affected component is a reverse-proxy-style redirect rather than code execution or deserialization, the impact is confined to off-site navigation of the victim's browser; the Tautulli host, its Plex data, and its credentials are not directly compromised.

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

Vendor (GitHub_M) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

Unauthenticated network-reachable endpoint (AV:N/PR:N) but requires the victim to click a crafted link (UI:R); open redirect yields only limited C/I via phishing and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 21, 2026 - 20:02 EUVD

DescriptionCVE.org

Tautulli is a Python based monitoring and tracking tool for Plex Media Server. Prior to 2.17.2, the unauthenticated /auth/redirect endpoint in plexpy/webauth.py removes forward slashes from the user-controlled redirect_uri parameter but leaves tab, line-feed, and carriage-return characters intact. With the default root HTTP_ROOT configuration, CherryPy HTTPRedirect passes the resulting value to urllib.parse.urljoin, which can resolve the whitespace-bearing path to an attacker-controlled external origin. A user who follows a crafted link can therefore be redirected outside Tautulli for phishing or post-login redirect-flow abuse, while custom non-root HTTP_ROOT configurations are not affected by this bypass. This issue is fixed in version 2.17.2.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche self-hosted Plex monitoring tool, homelab/enthusiast footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-31831 HIGH POC
8.7 Mar 30

Path traversal in Tautulli's /newsletter/image/images API endpoint allows unauthenticated remote attackers to read arbit

CVE-2025-58760 HIGH POC
7.5 Sep 09

Unauthenticated path traversal in Tautulli 2.15.3 and earlier allows remote attackers to read arbitrary files from the s

CVE-2025-58761 HIGH POC
7.5 Sep 09

Path traversal in Tautulli 2.15.3 and earlier allows unauthenticated remote attackers to read arbitrary files through th

CVE-2025-58762 HIGH POC
7.2 Sep 09

Remote code execution in Tautulli through 2.15.3 requires pre-existing administrative access: an attacker who can repoin

CVE-2025-58763 HIGH POC
7.2 Sep 09

Command injection in Tautulli 2.15.3 and earlier lets an authenticated administrator achieve remote code execution on th

CVE-2019-19833 MEDIUM POC
6.5 Dec 18

In Tautulli 2.1.9, CSRF in the /shutdown URI allows an attacker to shut down the remote media server. Rated medium sever

CVE-2019-8939 MEDIUM POC
6.1 Feb 19

data/interfaces/default/history.html in Tautulli 2.1.26 has XSS via a crafted Plex username that is mishandled when cons

CVE-2026-43986 CRITICAL
9.9 Jun 04

Unauthenticated server-side request forgery in Tautulli versions prior to 2.17.1 allows remote attackers to coerce the T

CVE-2026-41065 HIGH
8.9 Jun 04

Remote code execution in Tautulli versions prior to 2.17.1 allows attackers to achieve unauthenticated RCE on fresh inst

CVE-2026-43984 HIGH
8.9 Jun 04

Stored cross-site scripting in Tautulli before 2.17.1 allows low-privilege authenticated users (including guests when gu

CVE-2026-43985 HIGH
8.8 Jun 04

Cross-site request forgery in Tautulli versions prior to 2.17.1 allows remote attackers to hijack administrator accounts

CVE-2026-28505 HIGH
7.5 Mar 30

Remote code execution in Tautulli (Python-based Plex Media Server monitoring tool) versions prior to 2.17.0 allows authe

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy