Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed /rpc/http or /rpc/ws endpoint
-
DeliverySend Service.Formats JSON-RPC call
-
ExploitInject --load-info-json via dash-prefixed url param
-
Executionyt-dlp loads attacker-chosen server JSON file
-
ImpactRead reflected file contents in response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
|
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of yt-dlp-web-ui ≤4.0.0, requiring only network reachability to the JSON-RPC endpoints /rpc/http or /rpc/ws and invocation of the Service.Formats method with a dash-prefixed url parameter. The only limiting factors are that the instance must be network-reachable to the attacker (self-hosted tools are often bound to LAN/localhost or behind a reverse proxy rather than internet-exposed) and that meaningful disclosure is constrained to files yt-dlp can parse as info-JSON and reflect back, so arbitrary binary or non-JSON files are not cleanly exfiltrated. No authentication, user interaction, or non-default setting is needed. |
| Impact | This is a medium-severity information-disclosure flaw whose signals are internally consistent rather than conflicting. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes network-reachable, low-complexity, unauthenticated exploitation with no user interaction - matching the description's claim of unauthenticated remote attackers hitting the /rpc/http and /rpc/ws JSON-RPC endpoints. Impact is deliberately scoped low: VC:L with VI:N/VA:N, reflecting that the attacker can read attacker-chosen JSON files from the server filesystem but cannot modify data or affect availability, and disclosure is constrained to content yt-dlp will parse as info-JSON and reflect back. Publicly available exploit code exists (VulnCheck advisory plus a third-party write-up with POC), which raises practical exploitability, but the issue is NOT in CISA KEV and no EPSS score was provided, so there is no evidence of active or widespread exploitation - treat this as a disclosed, POC-backed bug rather than a confirmed in-the-wild campaign. Net: a genuine priority for anyone exposing yt-dlp-web-ui to untrusted networks (trivial to exploit, no auth), but the low confidentiality-only impact and niche deployment footprint keep it below critical-patch-now urgency. No key signals conflict; the main missing datum is EPSS probability. |
| Exploit ScenarioDerived | An attacker who can reach a yt-dlp-web-ui instance (≤4.0.0) sends a Service.Formats JSON-RPC call to /rpc/http or /rpc/ws with a dash-prefixed url value such as '--load-info-json=/path/to/file', causing yt-dlp to load an attacker-specified JSON file from the server filesystem and reflect its contents in the response. A public POC and VulnCheck advisory demonstrate the argument-injection technique, so exploitation requires no novel research. Because the endpoint is unauthenticated, any network-adjacent or internet-exposed instance is reachable without credentials. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Unauthenticated information disclosure in yt-dlp-web-ui through 4.0.0 lets remote attackers read server-side files by supplying a dash-prefixed value such as --load-info-json in the url parameter of the Service.Formats JSON-RPC method, causing the underlying yt-dlp process to load an attacker-chosen JSON file whose parsed contents are reflected back in the RPC response. Publicly available exploit code exists, including a published security advisory with reproduction details, though there is no CISA KEV confirmation of active exploitation; the CVSS 4.0 base score is 6.9, while a CVSS 3.1 scoring of the same vector yields 5.3 (Medium) because impact is confined to confidentiality. Any network-reachable instance at or below version 4.0.0 is affected with no authentication, user interaction, or non-default configuration required, so self-hosted instances bound only to localhost or a trusted LAN are materially lower risk than internet-exposed deployments.
RemediationAI
No vendor-released patch identified at time of analysis: the advisory data covers all releases through 4.0.0 and does not disclose a fixed version, so treat any yt-dlp-web-ui build at or below 4.0.0 as vulnerable until the maintainer publishes a release or commit that inserts a '--' end-of-options separator before the user-supplied URL or validates that the url parameter is a well-formed http/https URL. The highest-value compensating control is network-side: never expose /rpc/http or /rpc/ws to untrusted networks, bind the service to 127.0.0.1 and place it behind a reverse proxy that enforces authentication, accepting the trade-off that the UI is no longer usable anonymously by design. As a targeted filter, add a reverse-proxy or WAF rule that rejects JSON-RPC requests to Service.Formats whose url value begins with a hyphen (a legitimate URL never does), which blocks the --load-info-json payload and similar option-injection variants at the cost of needing rule maintenance and TLS-terminating inspection. Contain the blast radius by running yt-dlp-web-ui as a dedicated unprivileged account inside a container with a read-only root filesystem and a mount namespace restricted to the download directory, so --load-info-json can only reach non-sensitive JSON files; side effects include broken access to any legitimate files outside that tree. Finally, if the service cannot be patched or filtered immediately, disabling or unregistering the Formats RPC method stops the specific injection point entirely, at the cost of losing format-listing functionality in the UI. Details are documented at https://www.vulncheck.com/advisories/yt-dlp-web-ui-through-4.0.0-argument-injection-via-service-formats-json-rpc-method and https://github.com/vazzzy071-crypto/security-advisories/blob/main/advisories/2026-10-marcopiovanello-yt-dlp-web-ui-rpc-arg-injection.md.
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
The root cause is CWE-88 (Improper Neutralization of Argument Delimiters in a Command), the classic argument-injection class: the Go backend in server/formats/parser.go assembles a yt-dlp command line from a user-controlled url value without terminating option parsing (no '--' separator) and without validating that the value is actually a URL. Because the user string is passed as a positional argument list rather than through a shell, this is argument injection rather than shell command injection, but it is no less powerful for option injection: yt-dlp honors options such as --load-info-json <file>, which reads a local JSON file describing a video and makes its metadata flow back through the parser into the Service.Formats response. The exposure surface is the JSON-RPC interface served over HTTP at /rpc/http and over WebSocket at /rpc/ws, both reachable without credentials. The supplied CPE (cpe:2.3:a:marcopiovanello:yt-dlp-web-ui:*:*:*:*:*:*:*:*) uses an open version wildcard, consistent with the advisory covering all releases through 4.0.0, and the referenced v4.0.0 source tag confirms the vulnerable parser implementation at that revision. Importantly, the assessed impact is limited to read-only disclosure of files that yt-dlp can successfully parse as info-JSON and echo back; there is no demonstrated write, integrity, or availability impact, and non-JSON or binary files are not cleanly exfiltrated, so this should not be described as remote code execution. The upstream vulnerable component is the web UI wrapper, not yt-dlp itself.
Know when Yt Dlp Web Ui 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:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated network RPC endpoint with no user interaction gives AV:N/AC:L/PR:N/UI:N; impact is limited file disclosure reflected in responses, so C:L with I:N/A:N and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
yt-dlp-web-ui through 4.0.0 contains an argument injection vulnerability that allows unauthenticated remote attackers to inject yt-dlp options by supplying a dash-prefixed url parameter to the Service.Formats JSON-RPC method. Attackers can send values like --load-info-json via /rpc/http or /rpc/ws to make yt-dlp load attacker-chosen JSON files from the server filesystem, with contents reflected in responses.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
More in Yt Dlp Web Ui
View allUnauthenticated remote attackers can crash yt-dlp-web-ui 4.0.0 and earlier by sending a single JSON-RPC request to the d
Remote command injection in marcopiovanello yt-dlp-web-ui up to v4 lets a remote attacker (CVSS 4.0 vector records PR:N/
EUVD-2026-98692
GHSA-g8v9-4g6m-3vc9
NVD
CVE.org
EPSS
VulDB
Exploit-DB