Yewtube: yt-dlp: Arbitrary command injection possible if --exec option used with yt-dlp
Affects yewtubeSource GCVE Database
CVSS 7.5 High : upgrade to 2.13.1_3 soon.
Data as of 18 Sep 2026, 01:56 UTC
- Patch
- Available – fixed in 2.13.1_3
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:HWhat to do
Upgrade yewtube to 2.13.1_3.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewyewtubepkg:brew/yewtubeOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in yt-dlp version 2026.06.09 which restricts --exec conversions to safe ones and limits characters in command templates. Users should upgrade to 2026.06.09 or later. Alternatively, users can mitigate by only using safe conversions (%()d, %()i, %()f, %()q) in --exec templates, avoid using output template syntax in --exec, or avoid using the --exec option entirely.
Description
yt-dlp's --exec option is vulnerable to arbitrary command injection when unsafe string formatting conversions are used in the command template. This allows an attacker to execute arbitrary shell commands via maliciously crafted video metadata. The vulnerability affects users who use unsafe conversions like %()s in --exec templates. yt-dlp 2026.06.09 fixes this by restricting allowed conversions to safe ones and limiting characters in templates. Users can mitigate by upgrading or avoiding unsafe conversions or the --exec option altogether.
References
- github.com/yt-dlp/yt-dlp/security/advisories/GHSA-69qj-pvh9-c5wg (opens in a new tab)
- github.com/yt-dlp/yt-dlp/pull/16883 (opens in a new tab)
- github.com/yt-dlp/yt-dlp/commit/5faffa999fd33b373d47773e8ee639d072accec2 (opens in a new tab)
- github.com/yt-dlp/yt-dlp (opens in a new tab)
- github.com/yt-dlp/yt-dlp-nightly-builds/releases/tag/2026.06.06.234447 (opens in a new tab)
- github.com/yt-dlp/yt-dlp/releases/tag/2026.06.09 (opens in a new tab)