Summary
Workarounds
It is recommended to upgrade yt-dlp to version 2023.07.06 as soon as possible.
For users who are not able to upgrade:
- Avoid using cookies and user authentication methods (
--cookies,--cookies-from-browser,--username,--password,--netrc). While extractors may set custom cookies, these usually do not contain sensitive information. - Avoid using
--load-info-json
Or, if authentication is a must:
- Verify the integrity of download links from unknown sources in browser (including redirects) before passing them to yt-dlp
- Use
curlas external downloader, since it is not impacted (--downloader curl) - Avoid fragmented formats such as HLS/m3u8, DASH/mpd and ISM (use
-f "(bv*+ba/b)[protocol~='^https?$']")
References
- https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj
- https://nvd.nist.gov/vuln/detail/CVE-2023-35934
- https://github.com/yt-dlp/yt-dlp/releases/tag/2023.07.06
- https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/tag/2023.07.06.185519
- https://github.com/yt-dlp/yt-dlp/commit/1ceb657bdd254ad961489e5060f2ccc7d556b729
- https://github.com/yt-dlp/yt-dlp/commit/f8b4bcc0a791274223723488bfbfc23ea3276641
- https://github.com/yt-dlp/yt-dlp/commit/3121512228487c9c690d3d39bfd2579addf96e07
Impact
During file downloads, yt-dlp or the external downloaders that yt-dlp employs may leak cookies on HTTP redirects to a different host, or leak them when the host for download fragments differs from their parent manifest's host.
This vulnerable behavior is present in all versions of youtube-dl, youtube-dlc and yt-dlp released since 2015.01.25. All native and external downloaders are affected, except for curl and httpie (httpie version 3.1.0 or later).
At the file download stage, all cookies are passed by yt-dlp to the file downloader as a Cookie header, thereby losing their scope. This also occurs in yt-dlp's info JSON output, which may be used by external tools. As a result, the downloader or external tool may indiscriminately send cookies with requests to domains or paths for which the cookies are not scoped.
An example of a potential attack scenario exploiting this vulnerability:
- an attacker has crafted a malicious website with an embedded URL designed to be detected by yt-dlp as a video download. This embedded URL has the domain of a trusted site that the user has loaded cookies for, and conducts an unvalidated redirect to a target URL.
- yt-dlp extracts this URL and calculates a
Cookieheader based on its domain for the file downloader to make its request(s) with. - the download URL redirects to a server controlled by the attacker, to which yt-dlp forwards the user's sensitive cookie information.
Untrusted input controls a URL used for redirection, which can forward users to attacker-controlled sites. Typical impact: phishing and credential harvesting via a trusted domain.
CVE-2023-35934 has a CVSS score of 6.1 (Medium). The vector is network-reachable, no privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (2023.7.06); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Remediation advice
yt-dlp version 2023.07.06 fixes this issue by doing the following:
- Remove the
Cookieheader upon HTTP redirects - Have native downloaders calculate their own
Cookieheader from the cookiejar - Utilize external downloaders' built-in support for cookies instead of passing them as header arguments
- If the external downloader does not have proper cookie support, then disable HTTP redirection (
axelonly) - Process cookies passed as HTTP headers to limit their scope (
--add-header "Cookie:..."is scoped to input URL domain only) - Store cookies in a separate
cookiesfield of the info dict instead ofhttp_headersso as not to lose their scope
Patches for youtube-dl are expected and we will update this advisory when they are merged.
Frequently Asked Questions
- What is CVE-2023-35934? CVE-2023-35934 is a medium-severity open redirect vulnerability in yt-dlp (pip), affecting versions < 2023.7.06. It is fixed in 2023.7.06. Untrusted input controls a URL used for redirection, which can forward users to attacker-controlled sites.
- How severe is CVE-2023-35934? CVE-2023-35934 has a CVSS score of 6.1 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which versions of yt-dlp are affected by CVE-2023-35934? yt-dlp (pip) versions < 2023.7.06 is affected.
- Is there a fix for CVE-2023-35934? Yes. CVE-2023-35934 is fixed in 2023.7.06. Upgrade to this version or later.
- Is CVE-2023-35934 exploitable, and should I be worried? Whether CVE-2023-35934 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2023-35934 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2023-35934? Upgrade
yt-dlpto 2023.7.06 or later.