Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryUpload gzip-compressed SVG profile image via POST /UserImage
-
ExploitBypass SvgSecurityValidator check
-
ExecutionTrigger server-side rasterization via GET /UserImage
-
PersistResolve external reference to internal URL or local file
-
ImpactExfiltrate rendered response or exhaust server memory
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access 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 low-privilege account on the Jellyfin server; the attacker sets a profile image via POST /UserImage, which accepts SVG as an image type. The specific trigger is embedding gzip-compressed SVG inside a non-SVG image data URI, which bypasses the SvgSecurityValidator allow-check; the server then rasterizes the SVG through Svg.Skia with library defaults that resolve external <image xlink:href> references (http://, https://, file://). Rendering is reachable via an unauthenticated GET /UserImage, and the stored SVG is re-rasterized on every subsequent request, giving a repeatable DoS trigger from one upload. Only responses/files that decode as an image can be exfiltrated. An alternate path requires an administrator to be induced to import media accompanied by a crafted poster.svg artwork file (the admin need not author the file). Limiting factors: upload requires authentication (PR:L), SSRF exfiltration is constrained to image-decodable content, and the admin-import variant depends on administrator action. |
| Impact | CVSS 4.0 rates this 7.1 (High), driven by VA:H (availability via memory exhaustion) with VC:L (limited confidentiality from image-decodable file/URL disclosure) and no integrity impact. The vector AV:N/AC:L/AT:N/PR:L/UI:N indicates network-reachable, low-complexity exploitation requiring only low-privilege authentication and no user interaction. CWE-918 (SSRF) is confirmed by NVD and the vendor GHSA advisory. No EPSS score and no KEV status were provided in the input, so exploitation probability and active-exploitation signals cannot be quantified; absence of KEV means there is no confirmation of in-the-wild use. A public PoC reference exists (abraxaslabs research write-up and VulnCheck advisory); it is not verified as working exploit code in the supplied data. The vuln.today decision label is this_week, so this should be prioritized within the week rather than treated as an emergency, consistent with the lack of KEV. Signals are broadly consistent: the main gating factor is the PR:L authentication requirement, which limits the SSRF/file-read path to registered users, while the re-rasterization DoS is repeatable from a single upload. One caveat: the vendor GHSA patch and workaround sections are empty templates and the input does not confirm a fixed version, so remediation guidance should be verified with the vendor. |
| Exploit ScenarioDerived | A low-privilege authenticated Jellyfin user uploads a crafted profile image via POST /UserImage containing gzip-compressed SVG hidden in a non-SVG image data URI, bypassing SvgSecurityValidator. When the image is rendered server-side (reachable via an unauthenticated GET /UserImage), the SVG parser resolves external references, letting the attacker fetch internal http(s):// URLs or read local file:// paths that decode as images and are returned to the requester, or reference an endless file like /dev/urandom to exhaust server memory. A public PoC reference exists but is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Jellyfin through 12.4 allows an authenticated low-privilege user to bypass SvgSecurityValidator by uploading a profile image that hides gzip-compressed SVG inside a non-SVG image data URI, then trigger server-side rendering through unauthenticated GET /UserImage requests. The Svg.Skia rasterizer resolves external <image xlink:href> references, enabling SSRF to internal URLs, disclosure of local files that decode as images, and repeatable memory exhaustion because the stored SVG is re-rasterized on every request. CVSS 4.0 scores this 7.1 with high availability impact; no KEV listing or confirmed public exploit code is present in the supplied data.
RemediationAI
No vendor-released patch is identified at time of analysis: the GHSA advisory's Patches section is blank and no fixed version is listed in the supplied references. A package metadata line in the input states 'fixed in: 12.0', but that conflicts with the stated affected range through 12.4 and should not be treated as a confirmed fix; verify patch status against the GHSA advisory. Until a fixed release is published, restrict POST /UserImage profile-image upload privileges to trusted authenticated users and remove or block SVG profile images, noting that disabling SVG avatars removes the primary vector but degrades user functionality. Screen imported media libraries for crafted poster.svg artwork. Any already-uploaded malicious SVG profile image must be removed, because GET /UserImage re-rasterizes it on every request and a single upload provides a repeatable denial-of-service trigger. See https://github.com/jellyfin/jellyfin/security/advisories/GHSA-cf3c-8m59-2vhx and https://www.vulncheck.com/advisories/jellyfin-through-12.4-ssrf-via-gzip-compressed-data-uri-in-svg-profile-images for updates.
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
Jellyfin is a media server whose ImageController handles user image uploads and rendering. SvgSecurityValidator is meant to reject unsafe SVG content, but the bypass embeds gzip-compressed SVG in a data URI declared as a non-SVG image type, so the validator does not inspect the decompressed SVG payload. Svg.Skia then rasterizes the SVG with library defaults that resolve external <image xlink:href> references over http://, https://, and file://, which is the CWE-918 server-side request forgery condition. The advisory also documents uncontrolled memory consumption when references such as file:///dev/urandom are read without a size limit; rendered output may retain allocated memory in the managed heap. The CVSS vector includes PR:L, confirming the primary path requires an authenticated account; a secondary path requires an administrator to import media containing a crafted poster.svg.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
Authenticated upload gives PR:L with AC:L and no UI; availability is high from memory exhaustion while confidentiality is low (only image-decodable files/responses leak) and integrity is unaffected.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Jellyfin through 12.4 contains a server-side request forgery vulnerability that lets authenticated users bypass SvgSecurityValidator by embedding gzip-compressed SVG in non-SVG image data URIs. Attackers can upload such profile images via POST /UserImage, then trigger unauthenticated rendering via GET /UserImage to fetch internal URLs, read local image files, or exhaust memory.
Technical POC Analysis
CWE-918 (server-side request forgery), with an availability consequence the advisory scores as High but does not separately classify.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-119549 is a high-severity vulnerability in Jellyfin (through version 12.4) that enables authenticated low-privilege users to bypass SVG security controls and perform SSRF, local file disclosure, and repeated memory exhaustion. This puts internal network resources and sensitive files at risk and can cause service outages, requiring immediate leadership attention.
Restrict unauthenticated access to /UserImage , enforce strict image upload validation (reject SVG or data URIs containing SVG), apply network segmentation to limit SSRF reach, and monitor for memory exhaustion patterns.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Jellyfin is a Free Software Media System for managing and streaming media. Rated high severity (CVSS 8.8), this vulnerab
In Jellyfin before 10.8, the /users endpoint has incorrect access control for admin functionality. Rated high severity (
Jellyfin is a free-software media system. Rated high severity (CVSS 8.1), this vulnerability is remotely exploitable, lo
Jellyfin up to v10.7.7 was discovered to contain a Server-Side Request Forgery (SSRF) via the component /Repositories. R
Jellyfin is a system for managing and streaming media. Rated high severity (CVSS 7.2), this vulnerability is remotely ex
Jellyfin is a Free Software Media System. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable,
Arbitrary code execution in Jellyfin iOS GitHub Actions workflow. CVSS 10.0.
Jellyfin is a free software media system that provides media from a dedicated server to end-user devices via multiple ap
jellyfin-web is the web client for Jellyfin, a free-software media system. Rated medium severity (CVSS 5.4), this vulner
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),
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
In Jellyfin before 10.8, stored XSS allows theft of an admin access token. Rated medium severity (CVSS 5.4), this vulner
EUVD-2026-113814
GHSA-5hqc-9wxw-2gfq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB