CVE-2026-50019
yt-dlp: File Downloader cookie leak with curl
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.1
yt-dlp: File Downloader cookie leak with curl
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
- Record
CVE-2026-50019- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
EUVDEUVD-2026-38497
6.1
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
- Record
EUVD-2026-38497- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f7j3-774f-rfhj
6.1
yt-dlp: File Downloader cookie leak with curl
Summary
If curl is used an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's.
This is the equivalent to GHSA-v8mc-9377-rwjj for the curl downloader. The vulnerable behavior is present in yt-dlp released since 2023.09.24.
Details
At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will 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 the cookies which are then passed to
curl. - the download URL redirects to a server controlled by the attacker, to which
curlforwards the user's sensitive cookie information.
Patches
yt-dlp version 2026.06.09 fixes this issue by doing the following:
- Pass the cookies through stdin via
--cookie -ifcurlis version 7.59 or higher. - Pass the cookies via
--cookie /dev/fd/0if the system supports this device file. - In all other cases create a temporary file, save the cookies and then pass via
--cookie <file>.
Workarounds
It is recommended to upgrade yt-dlp to version 2026.06.09 as soon as possible.
For users who are not able to upgrade:
- Do not use
--downloader curl.
- Record
GHSA-f7j3-774f-rfhj- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
NVD
6.1
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
- Record
CVE-2026-50019- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSV
6.1
yt-dlp: File Downloader cookie leak with curl
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
- Record
CVE-2026-50019- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-50019
7.4
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
- Record
DEBIAN-CVE-2026-50019- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
Show 6 moreShow less
OSVGHSA-f7j3-774f-rfhj
6.1
yt-dlp: File Downloader cookie leak with curl
Summary
If curl is used an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's.
This is the equivalent to GHSA-v8mc-9377-rwjj for the curl downloader. The vulnerable behavior is present in yt-dlp released since 2023.09.24.
Details
At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will 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 the cookies which are then passed to
curl. - the download URL redirects to a server controlled by the attacker, to which
curlforwards the user's sensitive cookie information.
Patches
yt-dlp version 2026.06.09 fixes this issue by doing the following:
- Pass the cookies through stdin via
--cookie -ifcurlis version 7.59 or higher. - Pass the cookies via
--cookie /dev/fd/0if the system supports this device file. - In all other cases create a temporary file, save the cookies and then pass via
--cookie <file>.
Workarounds
It is recommended to upgrade yt-dlp to version 2026.06.09 as soon as possible.
For users who are not able to upgrade:
- Do not use
--downloader curl.
- Record
GHSA-f7j3-774f-rfhj- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVPYSEC-2026-3431
6.1
yt-dlp: File Downloader cookie leak with curl
Summary
If curl is used an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's.
This is the equivalent to GHSA-v8mc-9377-rwjj for the curl downloader. The vulnerable behavior is present in yt-dlp released since 2023.09.24.
Details
At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will 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 the cookies which are then passed to
curl. - the download URL redirects to a server controlled by the attacker, to which
curlforwards the user's sensitive cookie information.
Patches
yt-dlp version 2026.06.09 fixes this issue by doing the following:
- Pass the cookies through stdin via
--cookie -ifcurlis version 7.59 or higher. - Pass the cookies via
--cookie /dev/fd/0if the system supports this device file. - In all other cases create a temporary file, save the cookies and then pass via
--cookie <file>.
Workarounds
It is recommended to upgrade yt-dlp to version 2026.06.09 as soon as possible.
For users who are not able to upgrade:
- Do not use
--downloader curl.
- Record
PYSEC-2026-3431- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-50019
6.1
yt-dlp is a command-line audio/video downloader. From 2023.09.24 until 2026.06.09, if curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. At the file download stage, the cookies are passed by yt-dlp to the file downloader via --cookie. However, unless these are loaded from a file, this operation does not activate the cookie engine. As a result, curl will send cookies with requests to domains or paths for which the cookies are not scoped. This vulnerability is fixed in 2026.06.09.
- Record
UBUNTU-CVE-2026-50019- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N - CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVMGASA-2026-0234 No score
Updated yt-dlp packages fix security vulnerabilities
CVE-2026-50019 If curl is used as an external downloader for yt-dlp, cookies may be leaked to an unintended host upon HTTP redirect or when the host for download fragments differs from their parent manifest's. CVE-2026-50023 A vulnerability exists in yt-dlp that allows a remote attacker to write arbitrary OS-shortcut files (such as .desktop, .url, .webloc) to the user's filesystem, bypassing the remediation for CVE-2024-38519. CVE-2026-50574 If aria2c is used as an external downloader for a fragmented manifest format (such as an HLS/DASH stream), yt-dlp passes insufficiently sanitized input to aria2c that allows an attacker to perform an arbitrary file write. On Windows platforms, this can lead to immediate arbitrary code execution. On non-Windows platforms, this can lead to arbitrary code execution upon the next invocation of yt-dlp. For mageia 9 we import yt-dlp-ejs to ensure the application still works.
- Record
MGASA-2026-0234- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11019-1 No score
python313-yt-dlp-2026.06.09-1.1 on GA media
These are all security issues fixed in the python313-yt-dlp-2026.06.09-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11019-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21163-1 No score
Security update for yt-dlp
This update for yt-dlp fixes the following issues:
Changes in yt-dlp:
- Update to version 2026.06.09
- Fixed [CVE-2026-50019]: File Downloader cookie leak with curl
- Fixed [CVE-2026-50023]: Dangerous file type creation via insufficient filename sanitization
- Fixed [CVE-2026-50574]: Arbitrary code execution via manifest downloads with aria2c
- Added lockfile and pinned extras
- Removed url, desktop and webloc from safe extensions
- Extract supplemental codecs from DASH manifests
- abematv: Extract subtitles
- ard: Support new ardsounds domain
- monstercat: Support older URLs
- pornhub: Support browser impersonation
- reddit: Fix unauthenticated extraction
- rtp: Support multi-part episodes and --no-playlist
- s4c: Extract more metadata
- soop: Adapt extractors to new domain
- soundcloud: Support --extractor-retries for original formats
- twitch: Remove dead rechat subtitles
- twitter: Fix view_count extraction
- external: aria2c: Remove support for m3u8/dash protocols
- ffmpegmetadata: Avoid erroneous ISO 639 conversions
- Record
openSUSE-SU-2026:21163-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
yt-dlpPyPI |
2023.9.24 up to 2026.6.9 | 2026.6.9 |
yt-dlpDebian:13 |
All versions, plus listed versions 2025.04.30-12025.05.22-12025.06.09-12025.06.25-12025.06.30-1 Show 36 moreShow less2025.07.21-12025.08.11-12025.08.11-1~bpo13+12025.08.20-12025.08.22-12025.08.27-12025.08.27-1~bpo13+12025.09.05-12025.09.05-1~bpo13+12025.09.23-12025.09.26-12025.09.26-1~bpo13+12025.10.14-12025.10.14-1~bpo13+12025.10.22-12025.10.22-1~bpo13+12025.11.12-12025.11.12-1~bpo13+12025.12.08-12025.12.08-1~bpo13+12026.01.31-12026.01.31-1~bpo13+12026.02.21-12026.02.21-1~bpo13+12026.03.03-12026.03.03-1~bpo13+12026.03.13-12026.03.13-1~bpo13+12026.03.17-12026.03.17-1~bpo13+12026.06.09-12026.06.09-1~bpo13+12026.07.04-12026.07.04-1~bpo13+12026.08.19-12026.08.19-1~bpo13+1 |
None known |
yt-dlpDebian:14 |
before 2026.06.09-1, plus listed versions 2025.04.30-12025.05.22-12025.06.09-12025.06.25-12025.06.30-1 Show 31 moreShow less2025.07.21-12025.08.11-12025.08.11-1~bpo13+12025.08.20-12025.08.22-12025.08.27-12025.08.27-1~bpo13+12025.09.05-12025.09.05-1~bpo13+12025.09.23-12025.09.26-12025.09.26-1~bpo13+12025.10.14-12025.10.14-1~bpo13+12025.10.22-12025.10.22-1~bpo13+12025.11.12-12025.11.12-1~bpo13+12025.12.08-12025.12.08-1~bpo13+12026.01.31-12026.01.31-1~bpo13+12026.02.21-12026.02.21-1~bpo13+12026.03.03-12026.03.03-1~bpo13+12026.03.13-12026.03.13-1~bpo13+12026.03.17-12026.03.17-1~bpo13+12026.06.09-1~bpo13+1 |
2026.06.09-1 |
yt-dlpPyPI |
2023.9.24 up to 2026.6.9, plus listed versions 2023.10.132023.10.72023.11.13.232715.dev02023.11.13.5826.dev02023.11.14 Show 45 moreShow less2023.11.15.232826.dev02023.11.162023.11.16.232727.dev02023.11.18.232705.dev02023.11.19.232719.dev02023.11.20.232729.dev02023.11.26.232703.dev02023.11.28.232715.dev02023.11.29.232714.dev02023.12.12.232727.dev02023.12.13.232710.dev02023.12.17.232710.dev02023.12.18.232711.dev02023.12.19.232701.dev02023.12.20.232717.dev02023.12.21.232720.dev02023.12.22.232735.dev02023.12.24.232657.dev02023.12.26.232752.dev02023.12.302023.12.30.232719.dev02023.12.31.232713.dev02023.12.5.232702.dev02023.12.6.232721.dev02024.1.14.232710.dev02024.1.18.232658.dev02024.1.19.232708.dev02024.1.2.232714.dev02024.1.20.232722.dev02024.1.21.232719.dev02024.1.22.232713.dev02024.1.23.232723.dev02024.1.28.232706.dev02024.1.29.232706.dev02024.1.31.232703.dev02024.1.5.232702.dev02024.1.8.232709.dev02024.1.9.232723.dev02024.10.1.232843.dev02024.10.10.232848.dev02024.10.11.232837.dev02024.10.12.232856.dev02024.10.13.232959.dev02024.10.14.232841.dev02024.10.15.232919.dev0 |
2026.6.9 |
yt-dlpMageia:10 |
before 2026.06.09-1.mga10 | 2026.06.09-1.mga10 |
yt-dlpMageia:9 |
before 2026.06.09-1.1.mga9 | 2026.06.09-1.1.mga9 |
yt-dlp-ejsMageia:9 |
before 0.8.0-1.mga9 | 0.8.0-1.mga9 |
yt-dlpUbuntu:22.04:LTS |
All versions, plus listed versions 2021.12.01-12021.12.27-12022.01.21-12022.02.04-12022.03.08.1-12022.04.08-1 |
None known |
yt-dlpUbuntu:24.04:LTS |
All versions, plus listed versions 2023.07.06-12023.10.13-1ubuntu12023.11.16-12023.12.30-1ubuntu12024.03.10-12024.04.09-1 |
None known |
yt-dlpUbuntu:25.10 |
All versions, plus listed versions 2025.03.27-12025.04.30-12025.05.22-12025.06.09-12025.06.25-1 Show 8 moreShow less2025.06.30-12025.07.21-12025.08.11-12025.08.20-12025.08.22-12025.08.27-12025.09.05-12025.09.23-1 |
None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
yt-dlpUbuntu:26.10 |
All versions, plus listed versions 2026.03.17-12026.06.09-12026.07.04-12026.08.19-1 |
None known |
yt-dlpUbuntu:26.04:LTS |
All versions, plus listed versions 2025.09.23-12025.10.22-12025.11.12-12025.12.08-12026.01.31-12026.03.17-1 |
None known |
yt-dlpopenSUSE:Tumbleweed |
before 2026.06.09-1.1 | 2026.06.09-1.1 |
yt-dlpopenSUSE:Leap 16.0 |
before 2026.06.09-bp160.1.1 | 2026.06.09-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-50019 is a medium vulnerability (CVSS 6.1) in Yt-dlp, published June 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.32%, the 25th percentile. Fixed in yt-dlp 2026.6.9.
References
github.com/yt-dlp/yt-dlp/security/advisories/GHSA-f7j3-774f-rfhj
github.com/yt-dlp/yt-dlp/commit/2726572520238356bcf64aba2040228648b44c82
github.com/yt-dlp/yt-dlp-nightly-builds/releases/tag/2026.06.09.230517
github.com/yt-dlp/yt-dlp/releases/tag/2026.06.09
nvd.nist.gov/vuln/detail/CVE-2026-50019
github.com/advisories/GHSA-f7j3-774f-rfhj
Show 14 moreShow less
github.com/pypa/advisory-database/tree/main/vulns/yt-dlp/PYSEC-2026-3431.yaml
github.com/yt-dlp/yt-dlp
pypi.org/project/yt-dlp
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50019.json
security-tracker.debian.org/tracker/CVE-2026-50019
advisories.mageia.org/MGASA-2026-0234.html
bugs.mageia.org/show_bug.cgi?id=35739
github.com/yt-dlp/yt-dlp/security/advisories/GHSA-c6mh-fpjc-4pr3
github.com/yt-dlp/yt-dlp/security/advisories/GHSA-vx4q-3cr2-7cg2
ubuntu.com/security/CVE-2026-50019
cve.org/CVERecord?id=CVE-2026-50019
suse.com/security/cve/CVE-2026-50019
suse.com/security/cve/CVE-2026-50023
suse.com/security/cve/CVE-2026-50574
Left out here: 472 versions. The JSON record has them.