<?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-2025-54368</DocumentTitle>
  <DocumentType>SUSE CVE</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE CVE-2025-54368</ID>
    </Identification>
    <Status>Interim</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>3</Number>
        <Date>2026-03-05T00:30:42Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2025-08-13T23:15:09Z</InitialReleaseDate>
    <CurrentReleaseDate>2026-03-05T00:30:42Z</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-2025-54368</Note>
    <Note Title="Mitre CVE Description" Type="Description" Ordinal="2" xml:lang="en">uv is a Python package and project manager written in Rust. In versions 0.8.5 and earlier, remote ZIP archives were handled in a streamwise fashion, and file entries were not reconciled against the archive's central directory. An attacker could contrive a ZIP archive that would extract with legitimate contents on some package installers, and malicious contents on others due to multiple local file entries. An attacker could  also contrive a "stacked" ZIP input with multiple internal ZIPs, which would be handled differently by different package installers. The attacker could choose which installer to target in both scenarios. This issue is fixed in version 0.8.6. To work around this issue, users may choose to set UV_INSECURE_NO_ZIP_VALIDATION=1 to revert to the previous behavior.</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 Linux Enterprise Server 16.0">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise Server 16.0">
        <FullProductName ProductID="SUSE Linux Enterprise Server 16.0" CPE="cpe:/o:suse:sles:16:16.0:server">SUSE Linux Enterprise Server 16.0</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="python311-uv-0.8.8-1.1">
      <FullProductName ProductID="python311-uv-0.8.8-1.1">python311-uv-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python311-uv-bash-completion-0.8.8-1.1">
      <FullProductName ProductID="python311-uv-bash-completion-0.8.8-1.1">python311-uv-bash-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python311-uv-fish-completion-0.8.8-1.1">
      <FullProductName ProductID="python311-uv-fish-completion-0.8.8-1.1">python311-uv-fish-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python311-uv-zsh-completion-0.8.8-1.1">
      <FullProductName ProductID="python311-uv-zsh-completion-0.8.8-1.1">python311-uv-zsh-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python312-uv-0.8.8-1.1">
      <FullProductName ProductID="python312-uv-0.8.8-1.1">python312-uv-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python312-uv-bash-completion-0.8.8-1.1">
      <FullProductName ProductID="python312-uv-bash-completion-0.8.8-1.1">python312-uv-bash-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python312-uv-fish-completion-0.8.8-1.1">
      <FullProductName ProductID="python312-uv-fish-completion-0.8.8-1.1">python312-uv-fish-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python312-uv-zsh-completion-0.8.8-1.1">
      <FullProductName ProductID="python312-uv-zsh-completion-0.8.8-1.1">python312-uv-zsh-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python313-uv-0.7.18-160000.2.2">
      <FullProductName ProductID="python313-uv-0.7.18-160000.2.2">python313-uv-0.7.18-160000.2.2</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python313-uv-0.8.8-1.1">
      <FullProductName ProductID="python313-uv-0.8.8-1.1">python313-uv-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python313-uv-bash-completion-0.8.8-1.1">
      <FullProductName ProductID="python313-uv-bash-completion-0.8.8-1.1">python313-uv-bash-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python313-uv-fish-completion-0.8.8-1.1">
      <FullProductName ProductID="python313-uv-fish-completion-0.8.8-1.1">python313-uv-fish-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="python313-uv-zsh-completion-0.8.8-1.1">
      <FullProductName ProductID="python313-uv-zsh-completion-0.8.8-1.1">python313-uv-zsh-completion-0.8.8-1.1</FullProductName>
    </Branch>
    <Relationship ProductReference="python313-uv-0.7.18-160000.2.2" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise Server 16.0">
      <FullProductName ProductID="SUSE Linux Enterprise Server 16.0:python313-uv-0.7.18-160000.2.2">python313-uv-0.7.18-160000.2.2 as a component of SUSE Linux Enterprise Server 16.0</FullProductName>
    </Relationship>
    <Relationship ProductReference="python311-uv-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python311-uv-0.8.8-1.1">python311-uv-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python311-uv-bash-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python311-uv-bash-completion-0.8.8-1.1">python311-uv-bash-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python311-uv-fish-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python311-uv-fish-completion-0.8.8-1.1">python311-uv-fish-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python311-uv-zsh-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python311-uv-zsh-completion-0.8.8-1.1">python311-uv-zsh-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python312-uv-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python312-uv-0.8.8-1.1">python312-uv-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python312-uv-bash-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python312-uv-bash-completion-0.8.8-1.1">python312-uv-bash-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python312-uv-fish-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python312-uv-fish-completion-0.8.8-1.1">python312-uv-fish-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python312-uv-zsh-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python312-uv-zsh-completion-0.8.8-1.1">python312-uv-zsh-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python313-uv-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python313-uv-0.8.8-1.1">python313-uv-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python313-uv-bash-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python313-uv-bash-completion-0.8.8-1.1">python313-uv-bash-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python313-uv-fish-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python313-uv-fish-completion-0.8.8-1.1">python313-uv-fish-completion-0.8.8-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="python313-uv-zsh-completion-0.8.8-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:python313-uv-zsh-completion-0.8.8-1.1">python313-uv-zsh-completion-0.8.8-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">uv is a Python package and project manager written in Rust. In versions 0.8.5 and earlier, remote ZIP archives were handled in a streamwise fashion, and file entries were not reconciled against the archive's central directory. An attacker could contrive a ZIP archive that would extract with legitimate contents on some package installers, and malicious contents on others due to multiple local file entries. An attacker could  also contrive a "stacked" ZIP input with multiple internal ZIPs, which would be handled differently by different package installers. The attacker could choose which installer to target in both scenarios. This issue is fixed in version 0.8.6. To work around this issue, users may choose to set UV_INSECURE_NO_ZIP_VALIDATION=1 to revert to the previous behavior.</Note>
    </Notes>
    <CVE>CVE-2025-54368</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise Server 16.0:python313-uv-0.7.18-160000.2.2</ProductID>
        <ProductID>openSUSE Tumbleweed:python311-uv-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python311-uv-bash-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python311-uv-fish-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python311-uv-zsh-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python312-uv-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python312-uv-bash-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python312-uv-fish-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python312-uv-zsh-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python313-uv-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python313-uv-bash-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python313-uv-fish-completion-0.8.8-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:python313-uv-zsh-completion-0.8.8-1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
    <CVSSScoreSets>
      <ScoreSetV3>
        <BaseScoreV3>6.5</BaseScoreV3>
        <VectorV3>CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N</VectorV3>
      </ScoreSetV3>
    </CVSSScoreSets>
  </Vulnerability>
</cvrfdoc>
