<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cpe="http://cpe.mitre.org/language/2.0" xmlns:cvrf="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/cvrf" xmlns:cvrf-common="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/common" xmlns:cvssv2="http://scap.nist.gov/schema/cvss-v2/1.0" xmlns:cvssv3="https://www.first.org/cvss/cvss-v3.0.xsd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ns0="http://purl.org/dc/elements/1.1/" xmlns:prod="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/prod" xmlns:scap-core="http://scap.nist.gov/schema/scap-core/1.0" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:vuln="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/vuln" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/cvrf">
  <DocumentTitle xml:lang="en">CVE-2024-38519</DocumentTitle>
  <DocumentType>SUSE CVE</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE CVE-2024-38519</ID>
    </Identification>
    <Status>Interim</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>8</Number>
        <Date>2025-10-05T00:10:09Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2024-07-02T23:12:26Z</InitialReleaseDate>
    <CurrentReleaseDate>2025-10-05T00:10:09Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf-cve.pl</Engine>
      <Date>2020-12-27T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="CVE" Type="Summary" Ordinal="1" xml:lang="en">CVE-2024-38519</Note>
    <Note Title="Mitre CVE Description" Type="Description" Ordinal="2" xml:lang="en">`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.




`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.</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="4" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
  </DocumentNotes>
  <DocumentReferences>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/prod">
    <Branch Type="Product Family" Name="SUSE Package Hub 15 SP6">
      <Branch Type="Product Name" Name="SUSE Package Hub 15 SP6">
        <FullProductName ProductID="SUSE Package Hub 15 SP6">SUSE Package Hub 15 SP6</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Leap 15.6">
      <Branch Type="Product Name" Name="openSUSE Leap 15.6">
        <FullProductName ProductID="openSUSE Leap 15.6" CPE="cpe:/o:opensuse:leap:15.6">openSUSE Leap 15.6</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Tumbleweed">
      <Branch Type="Product Name" Name="openSUSE Tumbleweed">
        <FullProductName ProductID="openSUSE Tumbleweed" CPE="cpe:/o:opensuse:tumbleweed">openSUSE Tumbleweed</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="python310-yt-dlp-2024.07.01-1.1">
      <FullProductName ProductID="python310-yt-dlp-2024.07.01-1.1">python310-yt-dlp-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python311-yt-dlp-2024.07.01-1.1">
      <FullProductName ProductID="python311-yt-dlp-2024.07.01-1.1">python311-yt-dlp-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python311-yt-dlp-2024.08.01-bp156.2.3.1">
      <FullProductName ProductID="python311-yt-dlp-2024.08.01-bp156.2.3.1">python311-yt-dlp-2024.08.01-bp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python312-yt-dlp-2024.07.01-1.1">
      <FullProductName ProductID="python312-yt-dlp-2024.07.01-1.1">python312-yt-dlp-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python312-yt-dlp-2025.08.22-lp156.2.3.1">
      <FullProductName ProductID="python312-yt-dlp-2025.08.22-lp156.2.3.1">python312-yt-dlp-2025.08.22-lp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-2024.07.01-1.1">
      <FullProductName ProductID="yt-dlp-2024.07.01-1.1">yt-dlp-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-2024.08.01-bp156.2.3.1">
      <FullProductName ProductID="yt-dlp-2024.08.01-bp156.2.3.1">yt-dlp-2024.08.01-bp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-2025.08.22-lp156.2.3.1">
      <FullProductName ProductID="yt-dlp-2025.08.22-lp156.2.3.1">yt-dlp-2025.08.22-lp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-bash-completion-2024.07.01-1.1">
      <FullProductName ProductID="yt-dlp-bash-completion-2024.07.01-1.1">yt-dlp-bash-completion-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-bash-completion-2024.08.01-bp156.2.3.1">
      <FullProductName ProductID="yt-dlp-bash-completion-2024.08.01-bp156.2.3.1">yt-dlp-bash-completion-2024.08.01-bp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-fish-completion-2024.07.01-1.1">
      <FullProductName ProductID="yt-dlp-fish-completion-2024.07.01-1.1">yt-dlp-fish-completion-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-fish-completion-2024.08.01-bp156.2.3.1">
      <FullProductName ProductID="yt-dlp-fish-completion-2024.08.01-bp156.2.3.1">yt-dlp-fish-completion-2024.08.01-bp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1">
      <FullProductName ProductID="yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1">yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-zsh-completion-2024.07.01-1.1">
      <FullProductName ProductID="yt-dlp-zsh-completion-2024.07.01-1.1">yt-dlp-zsh-completion-2024.07.01-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1">
      <FullProductName ProductID="yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1">yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1</FullProductName>
    </Branch>
    <Relationship ProductReference="python311-yt-dlp-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:python311-yt-dlp-2024.08.01-bp156.2.3.1">python311-yt-dlp-2024.08.01-bp156.2.3.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:yt-dlp-2024.08.01-bp156.2.3.1">yt-dlp-2024.08.01-bp156.2.3.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-bash-completion-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1">yt-dlp-bash-completion-2024.08.01-bp156.2.3.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-fish-completion-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1">yt-dlp-fish-completion-2024.08.01-bp156.2.3.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1">yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="python311-yt-dlp-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:python311-yt-dlp-2024.08.01-bp156.2.3.1">python311-yt-dlp-2024.08.01-bp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="python312-yt-dlp-2025.08.22-lp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:python312-yt-dlp-2025.08.22-lp156.2.3.1">python312-yt-dlp-2025.08.22-lp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-2025.08.22-lp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:yt-dlp-2025.08.22-lp156.2.3.1">yt-dlp-2025.08.22-lp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-bash-completion-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1">yt-dlp-bash-completion-2024.08.01-bp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-fish-completion-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1">yt-dlp-fish-completion-2024.08.01-bp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1">yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1">yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="python310-yt-dlp-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python310-yt-dlp-2024.07.01-1.1">python310-yt-dlp-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python311-yt-dlp-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python311-yt-dlp-2024.07.01-1.1">python311-yt-dlp-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python312-yt-dlp-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python312-yt-dlp-2024.07.01-1.1">python312-yt-dlp-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:yt-dlp-2024.07.01-1.1">yt-dlp-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-bash-completion-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:yt-dlp-bash-completion-2024.07.01-1.1">yt-dlp-bash-completion-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-fish-completion-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:yt-dlp-fish-completion-2024.07.01-1.1">yt-dlp-fish-completion-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="yt-dlp-zsh-completion-2024.07.01-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:yt-dlp-zsh-completion-2024.07.01-1.1">yt-dlp-zsh-completion-2024.07.01-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/vuln" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">`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.




`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.</Note>
    </Notes>
    <CVE>CVE-2024-38519</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Package Hub 15 SP6:python311-yt-dlp-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:yt-dlp-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:python311-yt-dlp-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:python312-yt-dlp-2025.08.22-lp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:yt-dlp-2025.08.22-lp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:yt-dlp-bash-completion-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:yt-dlp-fish-completion-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:yt-dlp-youtube-dl-2025.08.22-lp156.2.3.1</ProductID>
        <ProductID>openSUSE Leap 15.6:yt-dlp-zsh-completion-2024.08.01-bp156.2.3.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python310-yt-dlp-2024.07.01-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python311-yt-dlp-2024.07.01-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python312-yt-dlp-2024.07.01-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:yt-dlp-2024.07.01-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:yt-dlp-bash-completion-2024.07.01-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:yt-dlp-fish-completion-2024.07.01-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:yt-dlp-zsh-completion-2024.07.01-1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
  </Vulnerability>
</cvrfdoc>
