Skip to main content

Tautulli CVE-2026-45381

| EUVDEUVD-2026-84070 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-21 GitHub_M
5.1
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft /search link with backslash-quote payload
  2. Delivery
    Deliver link to authenticated Tautulli user
  3. Exploit
    Victim clicks, breaks out of JS string
  4. Execution
    Script executes in Tautulli web origin
  5. Impact
    Steal session/act as victim

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

Reflected XSS reachable via the /search endpoint of Tautulli versions prior to 2.17.2 in default configuration - no special feature toggle or non-default setting is required on the server side. Exploitation is LIMITED by requiring victim interaction (UI:A): an already-authenticated Tautulli user must follow the attacker's crafted link for the script to execute in the web context. The attacker themselves needs no authentication (PR:N) to craft and deliver the link, but the flaw yields nothing without a logged-in victim who clicks it, and its impact is confined to the Tautulli browser origin.

Impact

This is a genuine but modest-severity reflected cross-site scripting flaw (CWE-79) in Tautulli's /search endpoint, where the user-controlled query parameter is inserted into a JavaScript string with manual escaping that neutralizes quotes and forward slashes but not backslashes - a backslash-quote sequence breaks out of the string and injects script. Vendor CVSS 4.0 scores it 5.1 (MEDIUM): AV:N/AC:L/AT:N make it network-reachable and easy to trigger, but UI:A means it requires an authenticated user to actively follow the attacker's crafted link, and impact is limited to SC:L/SI:L with no confidentiality/integrity impact on the vulnerable system itself (VC:N/VI:N/VA:N). No EPSS score, no CISA KEV listing, and no public exploit code are present in the input - this is 'no public exploit identified at time of analysis.' The exploit-vs-active-exploitation distinction matters: nothing here indicates in-the-wild use. The signals are internally consistent (a phishing-style reflected XSS requiring victim interaction against a niche self-hosted product), so this is a moderate-priority patch rather than an emergency - driven by the low deployment footprint and the mandatory authenticated-victim click, not by any exploitation evidence.

Exploit ScenarioDerived

An attacker crafts a malicious Tautulli /search URL whose query parameter contains a backslash-quote sequence that terminates the JavaScript string and appends attacker script. The attacker sends this link to an authenticated Tautulli user (e.g. via phishing); when the victim clicks it, the script executes in the Tautulli web origin, allowing session/CSRF-token theft or actions in the victim's authenticated context. No public exploit code is identified, though the escaping bypass is straightforward to reproduce from the patch diff.

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

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

Alert me

AnalysisAIv1 – Sep 21, 2026

Reflected cross-site scripting (CWE-79) in Tautulli, the Python-based monitoring and tracking tool for Plex Media Server, affects all releases prior to 2.17.2 through the /search endpoint, which weaves the user-supplied query parameter into a JavaScript string. An unauthenticated attacker can craft a link that, once followed by an already-authenticated Tautulli user, executes arbitrary script inside that user's browser session on the Tautulli origin (CVSS 3.1: AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N). The flaw requires victim interaction and is confined to the Tautulli web context; no public exploit code has been identified at time of analysis, and the issue is fixed in 2.17.2.

RemediationAI

Vendor-released patch: upgrade Tautulli to 2.17.2, the release that replaces the flawed manual escaping in data/interfaces/default/search.html with json.dumps() (commit 3bee54087370fc275b13565a9e58235341bb4cf7). Confirm the new version is running and re-check the /search endpoint afterward. Where immediate upgrade is not possible, treat the exposure as a client-side trust problem: restrict Tautulli's web UI to a trusted network or VPN rather than exposing it to the internet, since any public exposure gives the unauthenticated attacker the delivery vector for the crafted link - the trade-off is loss of remote convenience for legitimate users. Deploying a WAF rule that rejects backslash characters or script-like payloads in the query parameter of /search provides partial, signature-dependent mitigation and can cause false positives on legitimate search strings. Requiring strong, unique authentication and short session lifetimes limits what a successful XSS can reach in the victim's session, but does not prevent the injection itself. There is no server-side configuration toggle documented for the search feature, so patching remains the primary and most reliable fix; no public exploit code has been identified at time of analysis, so the urgency is driven by the low-complexity, no-authentication-to-deliver nature of the flaw rather than by observed exploitation.

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

Tautulli is a Python/Flask web application whose interface is rendered through Jinja2 templates under data/interfaces/default/. The vulnerable template, search.html, built a client-side JavaScript variable by interpolating the query string with manual escaping: query.replace('"','\\"').replace('/','\\/'). This pipeline neutralizes double quotes and forward slashes but never accounts for the backslash itself, so a crafted \" (backslash-quote) sequence causes the backslash to escape the following escape character and leaves the quote free to terminate the JavaScript string literal - allowing attacker-controlled markup and script to be injected into the page. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), a context-mismatch error: ad-hoc string replacement was used instead of a JavaScript-aware encoder. The upstream fix in commit 3bee54087370fc275b13565a9e58235341bb4cf7 replaces the manual escaping with json.dumps(query), which produces a correctly escaped JavaScript string literal for any input. Per the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/SC:L/SI:L), the attack is network-reachable, low complexity, and needs no privileges to deliver, but requires the victim to interact and the subsequent scope is changed to the browser (C/I impact limited, no availability impact). The CPE entry cpe:2.3:a:tautulli:tautulli:*:*:*:*:*:*:*:* indicates every version before the fix is in scope.

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.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 6.1 MEDIUM

Unauthenticated attacker crafts a link (PR:N, AV:N, AC:L) but needs a victim to click (UI:R); script runs in a different security context (S:C) with limited confidentiality/integrity impact and no availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: 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 /search endpoint inserts its user-controlled query parameter into a JavaScript string in data/interfaces/default/search.html using manual escaping that handles quotes and slashes but not backslashes. A backslash-quote sequence can terminate the string, so an unauthenticated attacker can send a crafted link that executes script in the Tautulli web context when an authenticated user follows it. This issue is fixed in version 2.17.2.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Low
niche self-hosted Plex Media Server monitoring tool, homelab 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.4%
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

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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