{"id":"CVE-2026-119549","kind":"vulnerability","aliases":["CVE-2026-119549"],"related":[],"title":"Jellyfin: gzip-compressed SVG in image uploads lets attackers fetch internal URLs","description":"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.","summary":"Jellyfin, the self-hosted media server, fails to validate SVG content hidden inside gzip-compressed data URIs in profile image uploads. An authenticated user can make the server fetch internal URLs, read local image files, or exhaust memory.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["jellyfin","media-server","runtime","self-hosted"],"not_affected_if":["auth-required","private-network"],"how_to_check":"- Check the Jellyfin server version with the admin dashboard or `jellyfin --version`; affected versions are stated as through `12.4`\n- Look for the `/UserImage` endpoint being reachable from untrusted networks","fix":"- Fixed version: unknown; the sources do not state a patched release","status":"open","published_at":"2026-10-30T12:16:41+00:00","first_seen_at":"2026-10-30T12:30:26+00:00","triaged_at":"2026-10-30T12:32:26+00:00","updated_at":"2026-10-30T12:32:26+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-30T12:32:26Z","model":"claude-haiku-5-5","output":{"fix":"- Fixed version: unknown; the sources do not state a patched release","reach":"internet","title":"Jellyfin: gzip-compressed SVG in image uploads lets attackers fetch internal URLs","impact":"high","summary":"Jellyfin, the self-hosted media server, fails to validate SVG content hidden inside gzip-compressed data URIs in profile image uploads. An authenticated user can make the server fetch internal URLs, read local image files, or exhaust memory.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["jellyfin","self-hosted","media-server"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"Server reads local files and fetches internal URLs","analyst_note":"Confirm the fixed Jellyfin version and whether the unauthenticated GET /UserImage rendering path is reachable by default.","how_to_check":"- Check the Jellyfin server version with the admin dashboard or `jellyfin --version`; affected versions are stated as through `12.4`\n- Look for the `/UserImage` endpoint being reachable from untrusted networks\n- unknown for other checks, as the sources do not say","plain_action":"","needs_analyst":true,"not_affected_if":["auth-required","private-network"],"who_is_affected":"Jellyfin servers through version 12.4 where users can upload profile images. The flaw needs an authenticated account, so servers with open registration or shared accounts are most exposed. Servers limited to trusted users on a private network carry less risk.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000702,"input_tokens":4164,"output_tokens":572,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-119549':16A,19A '-2026':15A,18A '/userimage':106C,113C '12.4':70C 'attack':10A,98C 'authent':52B,81C 'bypass':83C 'compress':4A,44B,89C 'contain':71C 'content':39B 'cve':14A,17A 'data':45B,96C 'embed':86C 'exhaust':66B,123C 'fail':35B 'fetch':11A,58B,115C 'file':64B,121C 'forgeri':77C 'get':112C 'gzip':3A,43B,88C 'gzip-compress':2A,42B,87C 'hidden':40B 'host':27B,32B 'imag':7A,49B,63B,95C,103C,120C 'insid':41B 'intern':12A,59B,116C 'jellyfin':1A,20B,28B,68C 'let':9A,80C 'local':62B,119C 'make':55B 'media':22B,33B 'media-serv':21B 'memori':67B,124C 'non':93C 'non-svg':92C 'post':105C 'profil':48B,102C 'read':61B,118C 'render':110C 'request':76C 'runtim':24B 'self':26B,31B 'self-host':25B,30B 'server':23B,34B,57B,74C 'server-sid':73C 'side':75C 'svg':5A,38B,90C,94C 'svgsecurityvalid':84C 'trigger':108C 'unauthent':109C 'upload':8A,50B,100C 'uri':46B,97C 'url':13A,60B,117C 'user':53B,82C 'valid':37B 'via':104C,111C 'vulner':78C","nicknames":[],"mitigations":[],"who_affected":"Jellyfin servers through version 12.4 where users can upload profile images. The flaw needs an authenticated account, so servers with open registration or shared accounts are most exposed. Servers limited to trusted users on a private network carry less risk.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-30T12:16:41+00:00","kev":null,"cvss_vector":"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/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119549","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119549","severity":null,"published_at":"2026-10-30T12:16:41+00:00","modified_at":"2026-10-30T12:16:41+00:00","first_seen_at":"2026-10-30T12:30:26+00:00","fetched_at":"2026-10-30T12:30:26+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}