{"id":"PYSEC-2026-2067","summary":"yt-dlp File Downloader cookie leak","details":"### Impact\nDuring 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.\n\nThis vulnerable behavior is present in all versions of [youtube-dl](https://github.com/ytdl-org/youtube-dl), [youtube-dlc](https://github.com/blackjack4494/yt-dlc) and [yt-dlp](https://github.com/yt-dlp/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).\n\nAt 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.\n\nAn example of a potential attack scenario exploiting this vulnerability:\n1. 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](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) to a target URL.\n2. yt-dlp extracts this URL and calculates a `Cookie` header based on its domain for the file downloader to make its request(s) with.\n3. the download URL redirects to a server controlled by the attacker, to which yt-dlp forwards the user's sensitive cookie information.\n\n### Patches\nyt-dlp version 2023.07.06 fixes this issue by doing the following:\n\n- Remove the `Cookie` header upon HTTP redirects\n- Have native downloaders calculate their own `Cookie` header from the cookiejar\n- Utilize external downloaders' built-in support for cookies instead of passing them as header arguments\n- If the external downloader does not have proper cookie support, then disable HTTP redirection (`axel` only)\n- Process cookies passed as HTTP headers to limit their scope (`--add-header \"Cookie:...\"` is scoped to input URL domain only)\n- Store cookies in a separate `cookies` field of the info dict instead of `http_headers` so as not to lose their scope\n\nPatches for youtube-dl are expected and we will update this advisory when they are merged.\n\n### Workarounds\nIt is recommended to upgrade yt-dlp to version 2023.07.06 as soon as possible.\n\nFor users who are not able to upgrade:\n\n - 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.\n - Avoid using `--load-info-json`\n\nOr, if authentication is a must:\n\n- Verify the integrity of download links from unknown sources in browser (including redirects) before passing them to yt-dlp\n- Use `curl` as external downloader, since it is not impacted (`--downloader curl`)\n- Avoid fragmented formats such as HLS/m3u8, DASH/mpd and ISM (use `-f \"(bv*+ba/b)[protocol~='^https?$']\"`)\n\n### References\n- https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj\n- https://nvd.nist.gov/vuln/detail/CVE-2023-35934\n- https://github.com/yt-dlp/yt-dlp/releases/tag/2023.07.06\n- https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/tag/2023.07.06.185519\n- https://github.com/yt-dlp/yt-dlp/commit/1ceb657bdd254ad961489e5060f2ccc7d556b729\n- https://github.com/yt-dlp/yt-dlp/commit/f8b4bcc0a791274223723488bfbfc23ea3276641\n- https://github.com/yt-dlp/yt-dlp/commit/3121512228487c9c690d3d39bfd2579addf96e07","aliases":["CVE-2023-35934","GHSA-v8mc-9377-rwjj"],"modified":"2026-07-07T17:48:05.720593575Z","published":"2026-07-07T11:45:20.265308Z","references":[{"type":"WEB","url":"https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-35934"},{"type":"WEB","url":"https://github.com/yt-dlp/yt-dlp/commit/1ceb657bdd254ad961489e5060f2ccc7d556b729"},{"type":"WEB","url":"https://github.com/yt-dlp/yt-dlp/commit/3121512228487c9c690d3d39bfd2579addf96e07"},{"type":"WEB","url":"https://github.com/yt-dlp/yt-dlp/commit/f8b4bcc0a791274223723488bfbfc23ea3276641"},{"type":"PACKAGE","url":"https://github.com/yt-dlp/yt-dlp"},{"type":"WEB","url":"https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/tag/2023.07.06.185519"},{"type":"WEB","url":"https://github.com/yt-dlp/yt-dlp/releases/tag/2023.07.06"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5X6YT6AQE5FHM5VTQLKKJXSYBLLJF26W"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HEOKCGVONGHR2SYUIXU33A4MKXZBDP6L"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IM44RJL2MR2WG3ZY354C5IUEEZUJGEVA"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M7E7CQ5S5KMZHAMCNU7V7KYNBVCPLBHG"},{"type":"PACKAGE","url":"https://pypi.org/project/yt-dlp"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-v8mc-9377-rwjj"}],"affected":[{"package":{"name":"yt-dlp","ecosystem":"PyPI","purl":"pkg:pypi/yt-dlp"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2023.7.06"}]}],"versions":["2021.1.15","2021.1.15.post1","2021.1.16","2021.1.20","2021.1.24","2021.1.24.post1","2021.1.29","2021.10.10","2021.10.22","2021.10.9","2021.11.10","2021.11.10.1","2021.12.1","2021.12.25","2021.12.27","2021.2.15","2021.2.19","2021.2.24","2021.2.4","2021.2.9","2021.3.1","2021.3.15","2021.3.21","2021.3.24","2021.3.24.1","2021.3.3","2021.3.3.1","2021.3.3.2","2021.3.7","2021.4.11","2021.4.22","2021.4.3","2021.5.11","2021.5.20","2021.6.1","2021.6.23","2021.6.8","2021.6.9","2021.7.21","2021.7.24","2021.7.7","2021.8.10","2021.8.2","2021.9.1","2021.9.2","2021.9.25","2022.1.21","2022.10.4","2022.11.11","2022.2.3","2022.2.4","2022.3.8","2022.3.8.1","2022.3.8.2","2022.4.8","2022.5.18","2022.6.22","2022.6.22.1","2022.6.29","2022.7.17","2022.7.18","2022.8.14","2022.8.19","2022.8.8","2022.9.1","2023.1.2","2023.1.6","2023.2.17","2023.3.3","2023.3.4","2023.6.21","2023.6.22"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/yt-dlp/PYSEC-2026-2067.yaml"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N"}]}