<?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-2020-15229</DocumentTitle>
  <DocumentType>SUSE CVE</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE CVE-2020-15229</ID>
    </Identification>
    <Status>Interim</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>16</Number>
        <Date>2023-09-06T23:59:39Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2021-05-30T14:41:56Z</InitialReleaseDate>
    <CurrentReleaseDate>2023-09-06T23:59:39Z</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-2020-15229</Note>
    <Note Title="Mitre CVE Description" Type="Description" Ordinal="2" xml:lang="en">Singularity (an open source container platform) from version 3.1.1 through 3.6.3 has a vulnerability. Due to insecure handling of path traversal and the lack of path sanitization within `unsquashfs`, it is possible to overwrite/create any files on the host filesystem during the extraction with a crafted squashfs filesystem. The extraction occurs automatically for unprivileged (either installation or with `allow setuid = no`) run of Singularity when a user attempt to run an image which is a local SIF image or a single file containing a squashfs filesystem and is coming from remote sources `library://` or `shub://`. Image build is also impacted in a more serious way as it can be used by a root user, allowing an attacker to overwrite/create files leading to a system compromise, so far bootstrap methods `library`, `shub` and `localimage` are triggering the squashfs extraction. This issue is addressed in Singularity 3.6.4. All users are advised to upgrade to 3.6.4 especially if they use Singularity mainly for building image as root user. There is no solid workaround except to temporary avoid to use unprivileged mode with single file images in favor of sandbox images instead. Regarding image build, temporary avoid to build from `library` and `shub` sources and as much as possible use `--fakeroot` or a VM for that.</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://lists.opensuse.org/opensuse-updates/2020-10/msg00193.html</URL>
      <Description>E-Mail link for openSUSE-SU-2020:1769-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://lists.opensuse.org/opensuse-updates/2020-10/msg00192.html</URL>
      <Description>E-Mail link for openSUSE-SU-2020:1770-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://lists.opensuse.org/opensuse-security-announce/2020-11/msg00009.html</URL>
      <Description>E-Mail link for openSUSE-SU-2020:1814-1</Description>
    </Reference>
    <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 SP2">
      <Branch Type="Product Name" Name="SUSE Package Hub 15 SP2">
        <FullProductName ProductID="SUSE Package Hub 15 SP2">SUSE Package Hub 15 SP2</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Leap 15.1">
      <Branch Type="Product Name" Name="openSUSE Leap 15.1">
        <FullProductName ProductID="openSUSE Leap 15.1" CPE="cpe:/o:opensuse:leap:15.1">openSUSE Leap 15.1</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Leap 15.2">
      <Branch Type="Product Name" Name="openSUSE Leap 15.2">
        <FullProductName ProductID="openSUSE Leap 15.2" CPE="cpe:/o:opensuse:leap:15.2">openSUSE Leap 15.2</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="singularity-3.6.4-bp152.2.12.1">
      <FullProductName ProductID="singularity-3.6.4-bp152.2.12.1" CPE="cpe:2.3:a:sylabs:singularity:3.6.4:*:*:*:*:*:*:*">singularity-3.6.4-bp152.2.12.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="singularity-3.6.4-lp151.2.12.1">
      <FullProductName ProductID="singularity-3.6.4-lp151.2.12.1" CPE="cpe:2.3:a:sylabs:singularity:3.6.4:*:*:*:*:*:*:*">singularity-3.6.4-lp151.2.12.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="singularity-3.6.4-lp152.2.9.1">
      <FullProductName ProductID="singularity-3.6.4-lp152.2.9.1" CPE="cpe:2.3:a:sylabs:singularity:3.6.4:*:*:*:*:*:*:*">singularity-3.6.4-lp152.2.9.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="singularity-3.8.3-1.2">
      <FullProductName ProductID="singularity-3.8.3-1.2" CPE="cpe:2.3:a:sylabs:singularity:3.8.3:*:*:*:*:*:*:*">singularity-3.8.3-1.2</FullProductName>
    </Branch>
    <Relationship ProductReference="singularity-3.6.4-bp152.2.12.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP2">
      <FullProductName ProductID="SUSE Package Hub 15 SP2:singularity-3.6.4-bp152.2.12.1">singularity-3.6.4-bp152.2.12.1 as a component of SUSE Package Hub 15 SP2</FullProductName>
    </Relationship>
    <Relationship ProductReference="singularity-3.6.4-lp151.2.12.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.1">
      <FullProductName ProductID="openSUSE Leap 15.1:singularity-3.6.4-lp151.2.12.1">singularity-3.6.4-lp151.2.12.1 as a component of openSUSE Leap 15.1</FullProductName>
    </Relationship>
    <Relationship ProductReference="singularity-3.6.4-lp152.2.9.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.2">
      <FullProductName ProductID="openSUSE Leap 15.2:singularity-3.6.4-lp152.2.9.1">singularity-3.6.4-lp152.2.9.1 as a component of openSUSE Leap 15.2</FullProductName>
    </Relationship>
    <Relationship ProductReference="singularity-3.8.3-1.2" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:singularity-3.8.3-1.2">singularity-3.8.3-1.2 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">Singularity (an open source container platform) from version 3.1.1 through 3.6.3 has a vulnerability. Due to insecure handling of path traversal and the lack of path sanitization within `unsquashfs`, it is possible to overwrite/create any files on the host filesystem during the extraction with a crafted squashfs filesystem. The extraction occurs automatically for unprivileged (either installation or with `allow setuid = no`) run of Singularity when a user attempt to run an image which is a local SIF image or a single file containing a squashfs filesystem and is coming from remote sources `library://` or `shub://`. Image build is also impacted in a more serious way as it can be used by a root user, allowing an attacker to overwrite/create files leading to a system compromise, so far bootstrap methods `library`, `shub` and `localimage` are triggering the squashfs extraction. This issue is addressed in Singularity 3.6.4. All users are advised to upgrade to 3.6.4 especially if they use Singularity mainly for building image as root user. There is no solid workaround except to temporary avoid to use unprivileged mode with single file images in favor of sandbox images instead. Regarding image build, temporary avoid to build from `library` and `shub` sources and as much as possible use `--fakeroot` or a VM for that.</Note>
    </Notes>
    <CVE>CVE-2020-15229</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Package Hub 15 SP2:singularity-3.6.4-bp152.2.12.1</ProductID>
        <ProductID>openSUSE Leap 15.1:singularity-3.6.4-lp151.2.12.1</ProductID>
        <ProductID>openSUSE Leap 15.2:singularity-3.6.4-lp152.2.9.1</ProductID>
        <ProductID>openSUSE Tumbleweed:singularity-3.8.3-1.2</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>critical</Description>
      </Threat>
    </Threats>
    <CVSSScoreSets>
      <ScoreSetV2>
        <BaseScoreV2>5.8</BaseScoreV2>
        <VectorV2>AV:N/AC:M/Au:N/C:P/I:P/A:N</VectorV2>
      </ScoreSetV2>
      <ScoreSetV3>
        <BaseScoreV3>9.3</BaseScoreV3>
        <VectorV3>CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N</VectorV3>
      </ScoreSetV3>
    </CVSSScoreSets>
  </Vulnerability>
</cvrfdoc>
