Skip to main content

Jellyfin EUVDEUVD-2026-39028

| CVE-2026-49247 HIGH
Path Traversal (CWE-22)
2026-06-24 GitHub_M
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege account
  2. Delivery
    Craft Authorization header with ../ in Client field
  3. Exploit
    POST body to /ClientLog/Document
  4. Execution
    Server writes content to traversed path (.log)
  5. Impact
    Corrupt or stage files in service-user paths

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

Exploitation requires a valid authenticated non-admin Jellyfin account (CVSS PR:L) and the ability to send a POST request to the /ClientLog/Document endpoint over the network; the attacker supplies ../ traversal sequences in the Authorization header's Client field. Affected versions are 10.9.0 through 10.11.9. Limiting factors: an account is mandatory (no unauthenticated path), so instances without untrusted or self-registered users are far lower risk; the written file is forced to end in .log, which constrains which targets are useful and largely blocks straightforward source-file or RCE overwrites; and writes are bounded to paths the Jellyfin service user can reach, so least-privilege deployment shrinks the impact.

Impact

The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 8.8) reflects a network-reachable, low-complexity attack needing only a valid low-privilege account and no user interaction - realistic for any Jellyfin instance with self-registration or shared/family accounts. EPSS, KEV, and SSVC data were not provided in the input; there is no CISA KEV listing and no public exploit identified, so this is not confirmed active exploitation. The headline 8.8 likely overstates real impact: the forced .log suffix means the primitive is an arbitrary-location write of .log files, which strongly constrains direct code execution and gives no inherent read/confidentiality capability, so the C:H rating is questionable and the practical worst case is integrity/availability damage (corrupting or filling writable paths owned by the service user). Net: a genuine privilege-relevant flaw worth prompt patching where untrusted users hold accounts, but absent KEV/POC/EPSS signals it is a patch-soon rather than emergency item; verify the confidentiality impact against the vendor advisory.

Exploit ScenarioDerived

A user with an ordinary non-admin Jellyfin account authenticates and sends a POST /ClientLog/Document request whose Authorization header Client field contains ../ traversal sequences, causing Jellyfin to write the request body to a chosen path reachable by the service user, ending in .log. By overwriting or planting files the service can later read or act on in its context, the attacker corrupts data or stages further compromise. No public exploit has been identified at time of analysis, and the network/low-complexity vector makes scripting trivial for anyone holding credentials.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 24, 2026

Arbitrary file write in Jellyfin media server (10.9.0 through 10.11.9) lets any authenticated non-admin user abuse the POST /ClientLog/Document endpoint to plant attacker-controlled content outside the intended log directory. The endpoint trusts the Client and Version fields of the Authorization header and uses them unsanitized to build the on-disk filename, so embedding ../ sequences in the Client field redirects writes to any path reachable by the Jellyfin service account, with a forced .log extension. No public exploit has been identified at time of analysis, and the issue is fixed in 10.11.10.

RemediationAI

Upgrade to Jellyfin 10.11.10, which sanitizes the Client/Version header components before using them in log filenames (Vendor-released patch: 10.11.10); see https://github.com/jellyfin/jellyfin/security/advisories/GHSA-jg92-mrxq-vv75. Until you can patch, reduce exposure by disabling open/public user self-registration and tightly controlling who holds accounts, since the attacker needs an authenticated non-admin login, and by restricting network reachability of the Jellyfin API to trusted clients via firewall or reverse-proxy access controls - note this does not stop already-trusted internal users. As defense-in-depth, run the Jellyfin service under a least-privileged OS account so the writable-path blast radius is minimized; blocking or filtering the /ClientLog/Document endpoint at a reverse proxy stops the attack but also disables legitimate client log uploads.

Affected VersionsENISA

jellyfin 10.9.0, < 10.11.10

Affected Packages

euvd jellyfin_10_9_0 fix: 10.11.10

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

Jellyfin is a widely used open-source, self-hosted media server (the cpe:2.3:a:jellyfin:jellyfin product) written in .NET, exposing an HTTP API to authenticated clients. The diagnostic endpoint POST /ClientLog/Document persists client-uploaded log documents to disk and derives the target filename from the Client and Version values supplied in the Authorization header. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal): user-controlled header components are concatenated into a filesystem path without canonicalization or directory containment, so relative traversal tokens (../) escape the intended log folder. The server appends a fixed .log suffix, constraining the resulting filename extension but not the directory the file lands in.

Know when Jellyfin 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 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.1 HIGH

Network, low-complexity, authenticated non-admin (PR:L), no UI; the primitive is an arbitrary .log write giving high integrity impact, no inherent read so C:N, and limited availability (A:L).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Jun 24, 2026 - 20:03 EUVD

DescriptionCVE.org

Jellyfin is an open source self hosted media server. From 10.9.0 until 10.11.10, the POST /ClientLog/Document endpoint accepts the Authorization header's Client and Version fields and uses them unsanitized as components of the on-disk filename when persisting client-uploaded log documents. As a result, any authenticated non-admin user can include ../ sequences in the Client field to cause Jellyfin to write attacker-controlled content to arbitrary paths reachable by the Jellyfin service user, with a forced .log suffix. This vulnerability is fixed in 10.11.10.

Executive ViewAI

Why It Matters

Jellyfin media server deployments running versions 10.9.0 through 10.11.9 are vulnerable to compromise by any user with standard credentials, potentially allowing unauthorized actors to gain complete control over the server and underlying infrastructure. Organizations using affected versions face elevated risk of data breach, service disruption, and lateral movement into connected systems. Immediate assessment and patching to version 10.11.10 is required to mitigate this risk.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
popular open-source self-hosted media server, common in homelabs not enterprises
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2023-49096 HIGH POC
8.8 Dec 06

Jellyfin is a Free Software Media System for managing and streaming media. Rated high severity (CVSS 8.8), this vulnerab

CVE-2022-35909 HIGH POC
8.8 Aug 19

In Jellyfin before 10.8, the /users endpoint has incorrect access control for admin functionality. Rated high severity (

CVE-2023-30626 HIGH POC
8.1 Apr 24

Jellyfin is a free-software media system. Rated high severity (CVSS 8.1), this vulnerability is remotely exploitable, lo

CVE-2023-27161 HIGH POC
7.5 Mar 10

Jellyfin up to v10.7.7 was discovered to contain a Server-Side Request Forgery (SSRF) via the component /Repositories. R

CVE-2023-48702 HIGH POC
7.2 Dec 13

Jellyfin is a system for managing and streaming media. Rated high severity (CVSS 7.2), this vulnerability is remotely ex

CVE-2021-21402 MEDIUM POC
6.5 Mar 23

Jellyfin is a Free Software Media System. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable,

CVE-2026-31852 CRITICAL
10.0 Mar 11

Arbitrary code execution in Jellyfin iOS GitHub Actions workflow. CVSS 10.0.

CVE-2021-29490 MEDIUM POC
5.8 May 06

Jellyfin is a free software media system that provides media from a dedicated server to end-user devices via multiple ap

CVE-2023-30627 MEDIUM POC
5.4 Apr 24

jellyfin-web is the web client for Jellyfin, a free-software media system. Rated medium severity (CVSS 5.4), this vulner

CVE-2023-23636 MEDIUM POC
5.4 Feb 03

In Jellyfin 10.8.x through 10.8.3, the name of a playlist is vulnerable to stored XSS. Rated medium severity (CVSS 5.4),

CVE-2023-23635 MEDIUM POC
5.4 Feb 03

In Jellyfin 10.8.x through 10.8.3, the name of a collection is vulnerable to stored XSS. Rated medium severity (CVSS 5.4

CVE-2022-35910 MEDIUM POC
5.4 Aug 19

In Jellyfin before 10.8, stored XSS allows theft of an admin access token. Rated medium severity (CVSS 5.4), this vulner

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