StreamVault
CVE-2025-66203
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as administrator
-
DeliverySubmit malicious yt-dlp args to /admin/api/saveConfig
-
ExploitArguments stored globally without validation
-
Executionyt-dlp command built and run in YtDlpUtil.java
-
ImpactArbitrary OS commands execute as app user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires authenticated administrator access to the stream-vault admin interface and the yt-dlp supplemental-arguments configuration feature exposed at /admin/api/saveConfig; the injected arguments are stored globally and only execute when yt-dlp is subsequently invoked (e.g., a download job) with the command line assembled in YtDlpUtil.java. Affected versions are StreamVault prior to 251126. Limiting factors: admin-level authentication (CVSS PR:H) is mandatory, so this is not reachable by anonymous remote attackers; the vulnerable append-arguments feature was removed entirely in the fixed release, so patched/current deployments are not exposed. |
| Impact | This is a genuine but access-gated remote code execution flaw (CWE-78 OS command injection). The provided CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H, base 9.1) materially inflates urgency relative to real-world risk because PR:H means the attacker must already hold administrator privileges to reach /admin/api/saveConfig. Public exploit code exists (GitHub Security Advisory GHSA-c747-q388-3v6m), which raises exploitability, but there is NO CISA KEV listing and NO EPSS score in the input, so there is no evidence of widespread or active exploitation - treat the POC as proof of feasibility, not of in-the-wild abuse. The high-privilege prerequisite plus the product's niche footprint (an independent GitHub video-download project) means this is a prioritize-if-you-run-it issue rather than a mass-exploitation emergency. Conflicting signal to verify: the input marks scope-changed (S:C), but the injected arguments execute yt-dlp as the application itself, so a same-scope (S:U) interpretation is defensible - this is the main driver of the 9.1 score and worth confirming with the vendor advisory. Note also a reference inconsistency: the description says fixed in 251126 while the linked release tag is 251226 (which removed the vulnerable feature). |
| Exploit ScenarioDerived | An authenticated administrator - or an attacker who has compromised admin credentials or hijacked an admin session - submits crafted yt-dlp arguments to the /admin/api/saveConfig endpoint. Because the arguments are stored globally and concatenated unvalidated into the command line built in YtDlpUtil.java, the next yt-dlp invocation executes attacker-controlled OS commands on the host as the application user. A public exploit for this path is available via the vendor's GitHub Security Advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Authenticated remote code execution affects StreamVault (StreamVault / stream-vault SpiritApplication) releases prior to 251126, where an administrator can inject arbitrary yt-dlp arguments through the /admin/api/saveConfig endpoint. The injected arguments are persisted globally and later concatenated into the yt-dlp command line assembled by YtDlpUtil.java, allowing OS command injection (CWE-78) that executes with the privileges of the StreamVault service when a download job runs. Exploitation requires a valid administrative session (CVSS PR:H), so anonymous remote attackers cannot reach it, but publicly available exploit code exists per the referenced GitHub security advisory GHSA-c747-q388-3v6m; there is no indication of confirmed active exploitation (CISA KEV), and the vulnerable argument-append feature was removed entirely in the subsequent 251226 release.
RemediationAI
Vendor-released patch: upgrade to StreamVault 251126 or later (the 251226 release at https://github.com/lemon8866/StreamVault/releases/tag/251226 removes the ytdlp supplemental-arguments feature entirely and is the safest target), following the advisory at https://github.com/lemon8866/StreamVault/security/advisories/GHSA-c747-q388-3v6m. If immediate upgrade is not possible, remove or blank any stored ytdlp extra-arguments value in the application configuration and avoid invoking download jobs with attacker-influenced parameters; restrict access to the /admin/api/saveConfig endpoint and the admin UI to trusted operators via network ACLs or a reverse proxy - a control that limits exposure but does not eliminate the injection, since any admin can still trigger it. Audit existing configuration and logs for unexpected yt-dlp arguments or spawned shell processes, and rotate credentials for the service account, as injected commands run with its privileges. Lower the StreamVault service account's OS permissions so command execution cannot escalate further; this reduces blast radius but may break legitimate yt-dlp downloads writing to restricted paths.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CWE-78 OS command injection in StreamVault, a Java-based (Spring) video download integration that wraps the external yt-dlp binary. The application exposed an administrative configuration option that let admins supply supplemental yt-dlp arguments; these were accepted by the /admin/api/saveConfig endpoint without sufficient validation, stored globally in application configuration, and then interpolated into a command line built inside YtDlpUtil.java. Because the value is passed to process execution rather than argument-escaped, a crafted argument string can break out of the intended yt-dlp invocation and run arbitrary OS commands under the service account. CPE data (cpe:2.3:a:lemon8866:streamvault:*:*:*:*:*:*:*:*) marks all pre-fix builds as affected. The upstream fix (release 251126, followed by 251226 which removes the ytdlp extra-arguments feature and the corresponding config.html UI, also upgrading bundled yt-dlp to 2025.12.08) eliminates the injection sink entirely rather than merely filtering input. The independent assessment rates the issue CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (9.1 base with scope change per NVD), confirming network reachability but a mandatory high-privilege authentication prerequisite.
Know when Streamvault 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
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Admin-only config endpoint forces PR:H; injection runs yt-dlp as the app's own user so S:U not S:C; full RCE yields C:H/I:H/A:H.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
StreamVault is a video download integration solution. Prior to version 251126, a Remote Code Execution (RCE) vulnerability exists in the stream-vault application (SpiritApplication). The application allows administrators to configure yt-dlp arguments via the /admin/api/saveConfig endpoint without sufficient validation. These arguments are stored globally and subsequently used in YtDlpUtil.java when constructing the command line to execute yt-dlp. This issue has been patched in version 251126.
Executive ViewAI
StreamVault deployments prior to release 251126 are exposed to a critical authenticated remote code execution flaw (CVE-2025-66203) that allows an administrator to execute operating-system commands with the service's privileges. Publicly available exploit code exists, and the issue requires a valid administrative session, so the primary organizational risk is compromise or misuse of privileged StreamVault accounts leading to service takeover, data access, and potential lateral movement. Leadership should treat this as a high-priority risk until all instances are upgraded to the remediated 251226 release or equivalent mitigations are enforced.
Restrict /admin/api/saveConfig to trusted networks; enforce multifactor authentication and least privilege for StreamVault administrators; audit and rotate administrative credentials; enable detailed logging and alerting for administrator logins, configuration changes, and yt-dlp job execution; isolate vulnerable StreamVault hosts from untrusted networks; run the service account with minimal privileges; block unnecessary outbound traffic; and disable or limit the yt-dlp argument-append feature until release 251226 can be deployed.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB