{"document":{"aggregate_severity":{"namespace":"https://www.suse.com/support/security/rating/","text":"moderate"},"category":"csaf_vex","csaf_version":"2.0","distribution":{"text":"Copyright 2024 SUSE LLC. All rights reserved.","tlp":{"label":"WHITE","url":"https://www.first.org/tlp/"}},"lang":"en","notes":[{"category":"summary","text":"SUSE CVE-2024-38519","title":"Title"},{"category":"description","text":"`yt-dlp` and `youtube-dl` are command-line audio/video downloaders. Prior to the fixed versions,  `yt-dlp` and `youtube-dl` do not limit the extensions of downloaded files, which could lead to arbitrary filenames being created in the download folder (and path traversal on Windows). Since `yt-dlp` and `youtube-dl` also read config from the working directory (and on Windows executables will be executed from the `yt-dlp` or `youtube-dl` directory), this could lead to arbitrary code being executed.\n\n\n\n\n`yt-dlp` version 2024.07.01 fixes this issue by whitelisting the allowed extensions. `youtube-dl` fixes this issue in commit `d42a222` on the `master` branch and in nightly builds tagged 2024-07-03 or later. This might mean some very uncommon extensions might not get downloaded, however it will also limit the possible exploitation surface. In addition to upgrading, have `.%(ext)s` at the end of the output template and make sure the user trusts the websites that they are downloading from. Also, make sure to never download to a directory within PATH or other sensitive locations like one's user directory, `system32`, or other binaries locations. For users who are not able to upgrade, keep the default output template (`-o \"%(title)s [%(id)s].%(ext)s`); make sure the extension of the media to download is a common video/audio/sub/... one; try to avoid the generic extractor; and/or use `--ignore-config --config-location ...` to not load config from common locations.","title":"Description of the CVE"},{"category":"legal_disclaimer","text":"CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).","title":"Terms of use"}],"publisher":{"category":"vendor","contact_details":"https://www.suse.com/support/security/contact/","name":"SUSE Product Security Team","namespace":"https://www.suse.com/"},"references":[{"category":"external","summary":"CVE-2024-38519","url":"https://www.suse.com/security/cve/CVE-2024-38519"},{"category":"external","summary":"SUSE Security Ratings","url":"https://www.suse.com/support/security/rating/"},{"category":"external","summary":"SUSE Bug 1227305 for CVE-2024-38519","url":"https://bugzilla.suse.com/1227305"}],"title":"SUSE CVE CVE-2024-38519","tracking":{"current_release_date":"2025-12-19T01:05:23Z","generator":{"date":"2025-02-14T04:53:32Z","engine":{"name":"cve-database.git:bin/generate-csaf-vex.pl","version":"1"}},"id":"CVE-2024-38519","initial_release_date":"2025-02-14T04:53:32Z","revision_history":[{"date":"2025-02-14T04:53:32Z","number":"2","summary":"Current version"},{"date":"2025-02-16T04:45:36Z","number":"3","summary":"Current version"},{"date":"2025-03-15T05:01:26Z","number":"4","summary":"Current version"},{"date":"2025-08-25T23:48:24Z","number":"5","summary":"Current version"},{"date":"2025-09-18T23:34:49Z","number":"6","summary":"Current version"},{"date":"2025-12-17T00:59:29Z","number":"7","summary":"description changed"},{"date":"2025-12-19T01:05:23Z","number":"8","summary":"description changed"}],"status":"interim","version":"8"}},"product_tree":{"branches":[{"branches":[{"branches":[{"category":"product_name","name":"SUSE Package Hub 15 SP6","product":{"name":"SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6"}},{"category":"product_name","name":"openSUSE Leap 15.6","product":{"name":"openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6","product_identification_helper":{"cpe":"cpe:/o:opensuse:leap:15.6"}}},{"category":"product_name","name":"openSUSE Tumbleweed","product":{"name":"openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed","product_identification_helper":{"cpe":"cpe:/o:opensuse:tumbleweed"}}},{"category":"product_version","name":"python310-yt-dlp-2024.07.01-1.1","product":{"name":"python310-yt-dlp-2024.07.01-1.1","product_id":"python310-yt-dlp-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/python310-yt-dlp@2024.07.01-1.1"}}},{"category":"product_version","name":"python311-yt-dlp-2024.07.01-1.1","product":{"name":"python311-yt-dlp-2024.07.01-1.1","product_id":"python311-yt-dlp-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/python311-yt-dlp@2024.07.01-1.1"}}},{"category":"product_version","name":"python311-yt-dlp-2024.08.01-bp156.2.3.1","product":{"name":"python311-yt-dlp-2024.08.01-bp156.2.3.1","product_id":"python311-yt-dlp-2024.08.01-bp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/python311-yt-dlp@2024.08.01-bp156.2.3.1"}}},{"category":"product_version","name":"python312-yt-dlp-2024.07.01-1.1","product":{"name":"python312-yt-dlp-2024.07.01-1.1","product_id":"python312-yt-dlp-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/python312-yt-dlp@2024.07.01-1.1"}}},{"category":"product_version","name":"python312-yt-dlp-2025.08.22-lp156.2.3.1","product":{"name":"python312-yt-dlp-2025.08.22-lp156.2.3.1","product_id":"python312-yt-dlp-2025.08.22-lp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/python312-yt-dlp@2025.08.22-lp156.2.3.1"}}},{"category":"product_version","name":"yt-dlp-2024.07.01-1.1","product":{"name":"yt-dlp-2024.07.01-1.1","product_id":"yt-dlp-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp@2024.07.01-1.1"}}},{"category":"product_version","name":"yt-dlp-2024.08.01-bp156.2.3.1","product":{"name":"yt-dlp-2024.08.01-bp156.2.3.1","product_id":"yt-dlp-2024.08.01-bp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp@2024.08.01-bp156.2.3.1"}}},{"category":"product_version","name":"yt-dlp-2025.08.22-lp156.2.3.1","product":{"name":"yt-dlp-2025.08.22-lp156.2.3.1","product_id":"yt-dlp-2025.08.22-lp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp@2025.08.22-lp156.2.3.1"}}},{"category":"product_version","name":"yt-dlp-bash-completion-2024.07.01-1.1","product":{"name":"yt-dlp-bash-completion-2024.07.01-1.1","product_id":"yt-dlp-bash-completion-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-bash-completion@2024.07.01-1.1"}}},{"category":"product_version","name":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","product":{"name":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","product_id":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-bash-completion@2024.08.01-bp156.2.3.1"}}},{"category":"product_version","name":"yt-dlp-fish-completion-2024.07.01-1.1","product":{"name":"yt-dlp-fish-completion-2024.07.01-1.1","product_id":"yt-dlp-fish-completion-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-fish-completion@2024.07.01-1.1"}}},{"category":"product_version","name":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","product":{"name":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","product_id":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-fish-completion@2024.08.01-bp156.2.3.1"}}},{"category":"product_version","name":"yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1","product":{"name":"yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1","product_id":"yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-youtube-dl@2025.08.22-lp156.2.3.1"}}},{"category":"product_version","name":"yt-dlp-zsh-completion-2024.07.01-1.1","product":{"name":"yt-dlp-zsh-completion-2024.07.01-1.1","product_id":"yt-dlp-zsh-completion-2024.07.01-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-zsh-completion@2024.07.01-1.1"}}},{"category":"product_version","name":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","product":{"name":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","product_id":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","product_identification_helper":{"purl":"pkg:rpm/suse/yt-dlp-zsh-completion@2024.08.01-bp156.2.3.1"}}}],"category":"product_family","name":"SUSE Linux Enterprise"}],"category":"vendor","name":"SUSE"}],"relationships":[{"category":"default_component_of","full_product_name":{"name":"python311-yt-dlp-2024.08.01-bp156.2.3.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:python311-yt-dlp-2024.08.01-bp156.2.3.1"},"product_reference":"python311-yt-dlp-2024.08.01-bp156.2.3.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-2024.08.01-bp156.2.3.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:yt-dlp-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-2024.08.01-bp156.2.3.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"python311-yt-dlp-2024.08.01-bp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:python311-yt-dlp-2024.08.01-bp156.2.3.1"},"product_reference":"python311-yt-dlp-2024.08.01-bp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"python312-yt-dlp-2025.08.22-lp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:python312-yt-dlp-2025.08.22-lp156.2.3.1"},"product_reference":"python312-yt-dlp-2025.08.22-lp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-2025.08.22-lp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:yt-dlp-2025.08.22-lp156.2.3.1"},"product_reference":"yt-dlp-2025.08.22-lp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1"},"product_reference":"yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1"},"product_reference":"yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"python310-yt-dlp-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python310-yt-dlp-2024.07.01-1.1"},"product_reference":"python310-yt-dlp-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python311-yt-dlp-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python311-yt-dlp-2024.07.01-1.1"},"product_reference":"python311-yt-dlp-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python312-yt-dlp-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python312-yt-dlp-2024.07.01-1.1"},"product_reference":"python312-yt-dlp-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:yt-dlp-2024.07.01-1.1"},"product_reference":"yt-dlp-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-bash-completion-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:yt-dlp-bash-completion-2024.07.01-1.1"},"product_reference":"yt-dlp-bash-completion-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-fish-completion-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:yt-dlp-fish-completion-2024.07.01-1.1"},"product_reference":"yt-dlp-fish-completion-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"yt-dlp-zsh-completion-2024.07.01-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:yt-dlp-zsh-completion-2024.07.01-1.1"},"product_reference":"yt-dlp-zsh-completion-2024.07.01-1.1","relates_to_product_reference":"openSUSE Tumbleweed"}]},"vulnerabilities":[{"cve":"CVE-2024-38519","ids":[{"system_name":"SUSE CVE Page","text":"https://www.suse.com/security/cve/CVE-2024-38519"}],"notes":[{"category":"general","text":"`yt-dlp` and `youtube-dl` are command-line audio/video downloaders. Prior to the fixed versions,  `yt-dlp` and `youtube-dl` do not limit the extensions of downloaded files, which could lead to arbitrary filenames being created in the download folder (and path traversal on Windows). Since `yt-dlp` and `youtube-dl` also read config from the working directory (and on Windows executables will be executed from the `yt-dlp` or `youtube-dl` directory), this could lead to arbitrary code being executed.\n\n\n\n\n`yt-dlp` version 2024.07.01 fixes this issue by whitelisting the allowed extensions. `youtube-dl` fixes this issue in commit `d42a222` on the `master` branch and in nightly builds tagged 2024-07-03 or later. This might mean some very uncommon extensions might not get downloaded, however it will also limit the possible exploitation surface. In addition to upgrading, have `.%(ext)s` at the end of the output template and make sure the user trusts the websites that they are downloading from. Also, make sure to never download to a directory within PATH or other sensitive locations like one's user directory, `system32`, or other binaries locations. For users who are not able to upgrade, keep the default output template (`-o \"%(title)s [%(id)s].%(ext)s`); make sure the extension of the media to download is a common video/audio/sub/... one; try to avoid the generic extractor; and/or use `--ignore-config --config-location ...` to not load config from common locations.","title":"CVE description"}],"product_status":{"recommended":["SUSE Package Hub 15 SP6:python311-yt-dlp-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:python311-yt-dlp-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:python312-yt-dlp-2025.08.22-lp156.2.3.1","openSUSE Leap 15.6:yt-dlp-2025.08.22-lp156.2.3.1","openSUSE Leap 15.6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1","openSUSE Leap 15.6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","openSUSE Tumbleweed:python310-yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:python311-yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:python312-yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-bash-completion-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-fish-completion-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-zsh-completion-2024.07.01-1.1"]},"references":[{"category":"external","summary":"CVE-2024-38519","url":"https://www.suse.com/security/cve/CVE-2024-38519"},{"category":"external","summary":"SUSE Security Ratings","url":"https://www.suse.com/support/security/rating/"},{"category":"external","summary":"SUSE Bug 1227305 for CVE-2024-38519","url":"https://bugzilla.suse.com/1227305"}],"remediations":[{"category":"vendor_fix","details":"To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n","product_ids":["SUSE Package Hub 15 SP6:python311-yt-dlp-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","SUSE Package Hub 15 SP6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:python311-yt-dlp-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:python312-yt-dlp-2025.08.22-lp156.2.3.1","openSUSE Leap 15.6:yt-dlp-2025.08.22-lp156.2.3.1","openSUSE Leap 15.6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1","openSUSE Leap 15.6:yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1","openSUSE Leap 15.6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1","openSUSE Tumbleweed:python310-yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:python311-yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:python312-yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-bash-completion-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-fish-completion-2024.07.01-1.1","openSUSE Tumbleweed:yt-dlp-zsh-completion-2024.07.01-1.1"]}],"threats":[{"category":"impact","date":"2024-07-02T16:10:30Z","details":"moderate"}],"title":"CVE-2024-38519"}]}