Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain LAN/Tailnet network access
-
DeliverySet transcodeHwAccel=custom with malicious ffmpeg flags
-
ExploitTrigger mediastream/HLS playlist request
-
Executionffmpeg executes attacker-controlled arguments
-
ImpactWrite/truncate host files or exfiltrate local data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
|
| Exploitation Conditions | Attacker must be an unauthenticated client on the same LAN or a shared Tailnet as the Seanime host (adjacent network, not internet-facing by default). The specific trigger is setting the mediastream setting transcodeHwAccel to the value 'custom' and supplying attacker-controlled decodeFlags and encodeFlags inside the transcodeHwAccelCustomSettings field, which the pre-patch authorization guard failed to classify as a privileged change; the injected flags are appended verbatim to the ffmpeg argument vector and executed via the mediastream request and HLS playlist endpoints. Limiting factors: only Seanime versions v3.7.0 through v3.10.3 are affected; the request origin must be a trusted LAN/localhost origin (so remote internet exploitation and foreign-origin browser requests are rejected); impact is bounded by the privileges of the user running seanime and by what ffmpeg's protocol handlers permit; an instance protected by a configured password or not exposed to untrusted adjacent peers is not reachable this way. |
| Impact | The vendor-supplied CVSS 4.0 vector (AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N) scores 5.3 (Medium), and the key constraint is AV:A (Adjacent): exploitation requires the attacker to reach the victim over the same LAN or a shared Tailnet, not the open internet, which materially caps real-world exposure. PR:N confirms no authentication is needed against an un-password-protected instance, and AC:L/UI:N mean the attack is reliable and needs no victim interaction. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation - this is no public exploit identified at time of analysis. Note a signal conflict: the single 'RCE' tag overstates the documented impact, which the description limits to arbitrary file write, file truncation, and potential local file read/exfiltration through ffmpeg protocol handlers - not confirmed arbitrary code execution. Net assessment: a legitimate priority for operators who expose Seanime to untrusted LAN or Tailnet peers, but a lower practical priority than the 'RCE' tag implies given the adjacent-only vector, medium severity, and absence of exploitation signals. |
| Exploit ScenarioDerived | An attacker already on the victim's LAN or shared Tailnet (e.g., a guest Wi-Fi peer or a compromised Tailnet node) sends a request to the Seanime mediastream settings endpoint setting transcodeHwAccel to 'custom' and injecting malicious decodeFlags/encodeFlags, then triggers an HLS playlist or mediastream request so ffmpeg runs with attacker-controlled arguments. Because the authorization guard failed to treat the custom hwaccel profile as a privileged setting, no authentication is required, and the injected ffmpeg options allow writing or truncating files on the host and reading/exfiltrating local files. No public POC was provided in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Argument injection in Seanime v3.7.0 through v3.10.3 lets unauthenticated clients on the same LAN or a shared Tailnet smuggle attacker-controlled flags into the ffmpeg command line, achieving arbitrary file write and file truncation as the user running seanime. The flaw is reachable because the application's privileged-settings guard did not treat a switch of transcodeHwAccel to 'custom' (with attacker-supplied decodeFlags/encodeFlags in transcodeHwAccelCustomSettings) as a protected change, so a crafted mediastream or HLS playlist request is executed with the injected options appended verbatim to ffmpeg's argument vector. This is rated Medium (CVSS 4.0 5.3, AV:A/AC:L/PR:N/UI:N/VC:L/VI:L/VA:N); exploitation is bounded to adjacent-network reachability and requires a trusted LAN/localhost origin, no public exploit code has been identified at time of analysis, and no confirmed active exploitation (CISA KEV) has been reported.
RemediationAI
The upstream fix is available as commit d7b13706da236473f33163b1222eb09587e93388 (Upstream fix available (PR/commit); released patched version not independently confirmed), so operators should upgrade Seanime to a build that includes this commit or any release published after v3.10.3, and verify the running build contains isCustomHwAccel()/isPrivilegedMediastream() gating before relying on the fix. If upgrading is not immediately possible, the highest-value compensating control is enforcing Seanime's own authentication (configure a password), which closes the unauthenticated path this CVE depends on; the trade-off is that the mediastream guard still evaluates origin trust, so authenticated-but-hostile LAN clients remain a residual risk. Second, reduce network reachability: bind Seanime to loopback or an isolated management interface and firewall the serving port so only trusted hosts (rather than an entire LAN or a broad Tailnet ACL) can reach the mediastream and HLS endpoints - this directly defeats the AV:A prerequisite but breaks remote playback for legitimate users. Third, run seanime under a dedicated low-privilege account with a read-only or restricted home/media tree and no write access outside its data directory, which limits arbitrary file write and truncation to files the service account can touch; note this does not stop file read or outbound exfiltration if ffmpeg retains network protocol handlers. Finally, audit MediastreamSettings/TranscodeHwAccelCustomSettings for any pre-existing 'custom' profile that an untrusted peer may have planted, and clear it, since the pre-patch guard never flagged that state as privileged. Vendor advisory and patch detail: https://www.vulncheck.com/advisories/seanime-argument-injection-via-transcodehwaccelcustomsettings.
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
Seanime is a self-hosted Go media server that shells out to ffmpeg/ffprobe for transcoding and HLS playlist generation; the vulnerability is CWE-88 (improper neutralization of argument delimiters), i.e. classic argument injection rather than shell injection, since the untrusted strings become individual ffmpeg argv entries. In the affected code, internal/handlers/local_security.go's privilegedMediastreamSettingsChanged only compared the FfmpegPath and FfprobePath fields, and privilegedMediastream settings were considered privileged solely when a custom executable path was set. The newly introduced isCustomHwAccel() helper and the extended guard mean the fix classifies TranscodeHwAccel == "custom" plus any change to TranscodeHwAccelCustomSettings as a privileged mutation requiring a trusted origin. The MediastreamSettings JSON blob carries decodeFlags and encodeFlags arrays that are concatenated into the ffmpeg argument vector executed by the mediastream request and HLS playlist endpoints; because ffmpeg honors protocol handlers (file:, http:, tcp:, etc.) and options such as output/input redirection, injected input options can also enable local file read and outbound data exfiltration. The same upstream commit (d7b13706) additionally hardens adjacent code paths - screenshot directory mutation checks and HandleVideoCoreSaveScreenshot, which now rejects filenames containing path components (filepath.Base comparison), pins writes to the configured ScreenshotDir via util.ResolvePhysicalPath/IsSameDir, and uses os.OpenRoot to constrain file creation - indicating the maintainers treated privileged local execution and path handling as one trust-boundary cleanup.
Know when the next one hits your stack
- 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:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Adjacent LAN/Tailnet only (AV:A), no auth or interaction (PR:N/UI:N); ffmpeg-constrained file read gives C:L and file write/truncation gives I:L, with no availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
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.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-102897
GHSA-wh8v-5fm8-92q5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB