{"id":"CVE-2026-111728","kind":"vulnerability","aliases":["CVE-2026-111728"],"related":[],"title":"Seanime: unauthenticated ffmpeg flag injection enables file writes and reads","description":"Seanime v3.7.0 to v3.10.3 contains an argument injection vulnerability reachable through improper authorization, allowing unauthenticated LAN or Tailnet clients to bypass the privileged mediastream settings guard by setting transcodeHwAccel to custom and supplying attacker-controlled decodeFlags and encodeFlags via the transcodeHwAccelCustomSettings field, which are appended verbatim to the ffmpeg argument vector. Attackers can trigger execution via the mediastream request and HLS playlist endpoints to achieve arbitrary file write and file truncation on the host as the user running seanime, with the injected input options also enabling potential arbitrary local file read and outbound data exfiltration through ffmpeg's protocol handlers.","summary":"Seanime versions 3.7.0 through 3.10.3 let unauthenticated clients on the local network or Tailnet set custom ffmpeg decode and encode flags that are passed verbatim to ffmpeg. An attacker can use this to write or truncate arbitrary files as the user running Seanime, and possibly read local files or send data outbound through ffmpeg protocol handlers.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["media-server","package","seanime","self-hosted","tailscale"],"not_affected_if":["localhost-only","version-outside-range"],"how_to_check":"- Check the installed Seanime version and see whether it falls between `3.7.0` and `3.10.3`\n- Check whether the mediastream transcoding setting `transcodeHwAccel` is set to `custom` in the Seanime configuration\n- unknown whether other checks are needed","fix":"- Upgrade Seanime to a version later than `3.10.3` (the fixed version is not stated in the sources)\n- Until upgraded, keep Seanime off untrusted networks and do not expose it to the LAN or Tailnet clients you do not control\n- unknown whether a configuration-only workaround exists","status":"open","published_at":"2026-10-16T15:17:15+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","triaged_at":"2026-10-25T04:18:32+00:00","updated_at":"2026-10-25T04:18:32+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T04:18:32Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Seanime to a version later than `3.10.3` (the fixed version is not stated in the sources)\n- Until upgraded, keep Seanime off untrusted networks and do not expose it to the LAN or Tailnet clients you do not control\n- unknown whether a configuration-only workaround exists","reach":"network","title":"Seanime: unauthenticated ffmpeg flag injection enables file writes and reads","impact":"high","summary":"Seanime versions 3.7.0 through 3.10.3 let unauthenticated clients on the local network or Tailnet set custom ffmpeg decode and encode flags that are passed verbatim to ffmpeg. An attacker can use this to write or truncate arbitrary files as the user running Seanime, and possibly read local files or send data outbound through ffmpeg protocol handlers.","category":"package","nicknames":[],"who_cares":["seanime","self-hosted","media-server","tailscale"],"confidence":0.6,"needs_auth":"no","worst_case":"Attacker writes or truncates arbitrary files as the Seanime user","analyst_note":"Confirm the fixed version and whether the transcodeHwAccel custom setting must be enabled; check the NVD entry for the advisory and patch link.","how_to_check":"- Check the installed Seanime version and see whether it falls between `3.7.0` and `3.10.3`\n- Check whether the mediastream transcoding setting `transcodeHwAccel` is set to `custom` in the Seanime configuration\n- unknown whether other checks are needed","needs_analyst":true,"not_affected_if":["version-outside-range","localhost-only"],"who_is_affected":"Seanime installs in the affected range that are reachable by other devices on the local network or a Tailnet are exposed, because the flaw is reachable without authentication. Instances that are only reachable on the machine itself, or that run outside this version range, are not described as affected. Whether the transcode custom setting must be enabled to be exploitable is implied by the description but not fully confirmed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000713,"input_tokens":3478,"output_tokens":730,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-111728':13A,16A '-2026':12A,15A '3.10.3':30B '3.7.0':28B 'achiev':147C 'allow':95C 'also':167C 'append':127C 'arbitrari':62B,148C,170C 'argument':88C,132C 'attack':54B,116C,134C 'attacker-control':115C 'author':94C 'bypass':102C 'client':33B,100C 'contain':86C 'control':117C 'custom':41B,112C 'cve':11A,14A 'data':76B,176C 'decod':43B 'decodeflag':118C 'enabl':6A,168C 'encod':45B 'encodeflag':120C 'endpoint':145C 'execut':137C 'exfiltr':177C 'ffmpeg':3A,42B,52B,79B,131C,179C 'field':124C 'file':7A,63B,73B,149C,152C,172C 'flag':4A,46B 'guard':107C 'handler':81B,182C 'hls':143C 'host':24B,156C 'improp':93C 'inject':5A,89C,164C 'input':165C 'lan':97C 'let':31B 'local':36B,72B,171C 'media':18B 'media-serv':17B 'mediastream':105C,140C 'network':37B 'option':166C 'outbound':77B,175C 'packag':20B 'pass':49B 'playlist':144C 'possibl':70B 'potenti':169C 'privileg':104C 'protocol':80B,181C 'reachabl':91C 'read':10A,71B,173C 'request':141C 'run':67B,160C 'seanim':1A,21B,26B,68B,82C,161C 'self':23B 'self-host':22B 'send':75B 'server':19B 'set':40B,106C,109C 'suppli':114C 'tailnet':39B,99C 'tailscal':25B 'transcodehwaccel':110C 'transcodehwaccelcustomset':123C 'trigger':136C 'truncat':61B,153C 'unauthent':2A,32B,96C 'use':56B 'user':66B,159C 'v3.10.3':85C 'v3.7.0':83C 'vector':133C 'verbatim':50B,128C 'version':27B 'via':121C,138C 'vulner':90C 'write':8A,59B,150C","nicknames":[],"mitigations":[],"who_affected":"Seanime installs in the affected range that are reachable by other devices on the local network or a Tailnet are exposed, because the flaw is reachable without authentication. Instances that are only reachable on the machine itself, or that run outside this version range, are not described as affected. Whether the transcode custom setting must be enabled to be exploitable is implied by the description but not fully confirmed.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T15:17:15+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/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-111728","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111728","severity":null,"published_at":"2026-10-16T15:17:15+00:00","modified_at":"2026-10-16T18:25:45+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","fetched_at":"2026-10-23T22:28:55+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"}