Cyber Resilience

CVE-2026-35033

Access Control in Jellyfin ≤ 10.11.7

Published
14 April 2026
Modified
24 July 2026
Patch / advisory
CVSS Score v4 9.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0032 25th percentile
Risk Priority 45 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-35033 is a critical-severity Argument Injection (CWE-88) vulnerability in Jellyfin Jellyfin. Its CVSS base score is 9.3 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked at the 25th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-25 (Reference Monitor) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-35033 is an unauthenticated arbitrary file read vulnerability in Jellyfin, an open source self-hosted media server. Versions prior to 10.11.7 are affected due to improper parsing of the StreamOptions query parameter in the ParseStreamOptions method within StreamingHelpers.cs. This method adds lowercase query parameters to a dictionary without validation, bypassing a RegularExpression attribute on the level controller parameter, and concatenates the unsanitized value directly into an ffmpeg command line executed by the /Videos/{itemId}/stream endpoint, which lacks an Authorize attribute.

An unauthenticated remote attacker can exploit this vulnerability over the network with low complexity and no user interaction. Although the endpoint requires a pseudorandom item GUID typically obtained by an authenticated user, the attacker can inject a drawtext filter with a textfile argument into the ffmpeg command to read arbitrary server files, such as /etc/shadow. The contents are then exfiltrated as text rendered in the video stream response. The vulnerability carries a CVSS v3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) and is associated with CWE-88 (Improper Neutralization of Argument Delimiters) and CWE-862 (Missing Authorization).

Jellyfin has addressed this issue in version 10.11.7, as detailed in the release notes and security advisory. Security practitioners should upgrade to 10.11.7 or later and review access to item GUIDs to limit exposure.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Jellyfin is an open source self hosted media server. Versions prior to 10.11.7 contain an unauthenticated arbitrary file read vulnerability via ffmpeg argument injection through the StreamOptions query parameter parsing mechanism. The ParseStreamOptions method in StreamingHelpers.cs adds any lowercase query…

more

parameter to a dictionary without validation, bypassing the RegularExpression attribute on the level controller parameter, and the unsanitized value is concatenated directly into the ffmpeg command line. By injecting a drawtext filter with a textfile argument, an attacker can read arbitrary server files such as /etc/shadow and exfiltrate their contents as text rendered in the video stream response. The vulnerable /Videos/{itemId}/stream endpoint has no Authorize attribute, making this exploitable without authentication, though item GUIDs are pseudorandom and require an authenticated user to obtain. This issue has been fixed in version 10.11.7.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1059 Command and Scripting Interpreter Execution
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
T1059.001 PowerShell Execution
Adversaries may abuse PowerShell commands and scripts for execution.
T1059.003 Windows Command Shell Execution
Adversaries may abuse the Windows command shell for execution.
T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-31499Same product: Jellyfin Jellyfin
CVE-2023-49096Same product: Jellyfin Jellyfin
CVE-2024-37209Shared CWE-862
CVE-2025-46554Shared CWE-862
CVE-2023-32112Shared CWE-862
CVE-2024-13367Shared CWE-862
CVE-2024-1710Shared CWE-862
CVE-2024-12616Shared CWE-862
CVE-2024-3608Shared CWE-862
CVE-2025-23440Shared CWE-862

Affected Assets

jellyfin
jellyfin
≤ 10.11.7

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 5 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.2.5

Mitigating Controls (NIST 800-53 r5) AI

AC-3 directly requires enforcement of authorization decisions on every access request, structurally eliminating missing authorization checks.

AC-24 mandates that access control decisions are applied to each request, preventing bypass of authorization logic.

AC-25 requires a tamperproof, always-invoked reference monitor that ensures authorization checks cannot be omitted.

Developer testing can discover argument-injection flaws in command-construction code but does not stop their introduction.

Input validation directly stops construction of command strings containing unneutralized delimiters or injected arguments.

AC-6 reduces the set of actions reachable without proper authorization, limiting blast radius of missing checks.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 partial match
prevents

Explicitly requires defining, enforcing, and reviewing authorizations and least privilege, directly preventing missing authorization checks.

PR.PS-06 partial match
prevents

Secure SDLC practices directly require proper input validation and command construction to prevent argument injection.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Requiring formal authorization of every access request before rights are granted ensures that checks for required permissions are performed, preventing missing authorization checks from being introduced.

prevents

Mandatory authorization checks and central records of granted rights ensure that every access attempt is preceded by an explicit decision rather than relying on missing checks.

mitigates

Segregating the approval of access rights from their implementation provides an independent check that reduces the impact of missing authorization checks in the resulting system configuration.

finds

By requiring competent outsiders to verify that every function enforces the need-to-know principle, the control lowers the likelihood that missing authorization checks persist undetected.

prevents

Defining authorization responsibilities and reviewing risk-treatment progress throughout the project lifecycle catches missing authorization checks before the system is deployed.

mitigates

Requiring authentication of systems and restricting which devices may join the network prevents missing-authorization flaws from being exploitable across network boundaries.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (higher-evidence rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248581 OL 8 must require users to provide a password for privilege escalation. prevents CWE-862
  • V-252656 The OL 8 operating system must not be configured to bypass password requirements for privilege escalation. prevents CWE-862
RHEL 7 (2 rules)
  • V-251704 The Red Hat Enterprise Linux operating system must not be configured to bypass password requirements for privilege escalation. prevents CWE-862
  • V-204429 The Red Hat Enterprise Linux operating system must be configured so that users must provide a password for privilege escalation. prevents CWE-862

References