Skip to main content

yt-dlp CVE-2026-55404

| EUVDEUVD-2026-42368 HIGH
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-07-08 GitHub_M GHSA-6v4j-43gg-vj32
8.8
CVSS 3.1 · NVD
Share

Severity by source

Vendor (GitHub_M) PRIMARY
HIGH
qualitative
NVD
8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI
8.8 HIGH

Attacker-controlled remote metadata (AV:N, PR:N) but exploitation needs a non-default option plus the victim opening the shortcut (UI:R); opened shortcut yields full code execution (C/I/A:H).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

8
Analysis Updated
Jul 13, 2026 - 19:35 vuln.today
v3 (cvss_changed)
Source Code Evidence Fetched
Jul 13, 2026 - 19:34 vuln.today
Analysis Updated
Jul 13, 2026 - 19:34 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 13, 2026 - 19:07 vuln.today
cvss_changed
CVSS changed
Jul 13, 2026 - 19:07 NVD
7.5 (HIGH) 8.8 (HIGH)
Patch available
Jul 08, 2026 - 21:04 EUVD
Analysis Generated
Jul 08, 2026 - 20:36 vuln.today
CVE Published
Jul 08, 2026 - 19:36 cve.org
HIGH 7.5

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 7 pypi packages depend on yt-dlp (7 direct, 0 indirect)

Ecosystem-wide dependent count for version 2026.7.4.

DescriptionNVD

yt-dlp and youtube-dl are command-line audio/video downloaders. Prior to 2026.7.4, the --write-link, --write-url-link, and --write-desktop-link options can write .url or .desktop shortcut files using attacker-controlled webpage_url or filename metadata without sufficient validation or escaping, allowing malicious file:// URI injection on Windows or newline-based desktop entry key injection on Linux that can execute commands if the generated shortcut is opened. This issue is fixed in version 2026.7.4.

AnalysisAI

Command injection in yt-dlp and youtube-dl before 2026.7.4 lets a malicious video/webpage host smuggle attacker-controlled data into shortcut files generated by the --write-link, --write-url-link, and --write-desktop-link options. Because webpage_url and filename metadata are written to .url/.desktop files without validation or escaping, an attacker can inject a file:// URI on Windows or a newline-based Desktop Entry key on Linux that runs commands when the victim later opens the generated shortcut. No public exploit identified at time of analysis; EPSS is modest at 0.55% and CISA SSVC records exploitation as none, but technical impact is rated total.

Technical ContextAI

yt-dlp is a Python-based command-line audio/video downloader (a maintained fork of youtube-dl) with a CPE of cpe:2.3:a:yt-dlp:yt-dlp. The vulnerable feature is its 'internet shortcut' writers, which serialize extracted metadata into platform shortcut formats: Windows .url files (which support a URL= key that can point at a file:// path) and freedesktop .desktop entries (which contain executable keys and honor localestring escaping rules). The root cause maps to CWE-74 (improper neutralization of special elements / injection): the URL field was written without scheme validation and the filename/localestring field was written without escaping control characters. The commit (b6590aa) fixes this by adding iri_to_uri(..., allowed_schemes=('http','https')) to reject non-web schemes such as file://, and by introducing _desktop_entry_localestring(), which escapes spaces, tab, CR, LF, and backslash per the freedesktop Desktop Entry value-type spec so newline key injection is neutralized.

RemediationAI

Vendor-released patch: upgrade to yt-dlp 2026.7.4 or later (release https://github.com/yt-dlp/yt-dlp/releases/tag/2026.07.04; fix commit https://github.com/yt-dlp/yt-dlp/commit/b6590aaa1e3808155d69c9a79a797ae484163789), which validates the URL scheme (only http/https allowed) and escapes Desktop Entry localestrings. Until you can upgrade, the most direct compensating control is to stop passing --write-link, --write-url-link, and --write-desktop-link when downloading from untrusted or user-supplied URLs - the trade-off is losing automatic shortcut generation. Additionally, run yt-dlp against only trusted sources, and instruct users/operators not to open shortcut files produced from arbitrary downloads; on Linux, treat generated .desktop files as untrusted and inspect them (or strip execute permission) before use. Consult GHSA-6v4j-43gg-vj32 for advisory details.

Vendor StatusVendor

SUSE

Product Status
openSUSE Tumbleweed Fixed

Share

CVE-2026-55404 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy