<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">libykcs11-2-2.2.0-1.5 on GA media</DocumentTitle>
  <DocumentType>SUSE Patch</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>openSUSE-SU-2024:11537</ID>
    </Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>1</Number>
        <Date>2024-06-17T21:45:33Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2024-06-17T21:45:33Z</InitialReleaseDate>
    <CurrentReleaseDate>2024-06-17T21:45:33Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf.pl</Engine>
      <Date>2017-02-24T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">libykcs11-2-2.2.0-1.5 on GA media</Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">These are all security issues fixed in the libykcs11-2-2.2.0-1.5 package on the GA media of openSUSE Tumbleweed.</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="3" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
    <Note Title="Patchnames" Type="Details" Ordinal="4" xml:lang="en">openSUSE-Tumbleweed-2024-11537</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright SUSE LLC under the Creative Commons License 4.0 with Attribution (CC-BY-4.0)</DocumentDistribution>
  <DocumentReferences>
    <Reference Type="Self">
      <URL/>
      <Description>E-Mail link for openSUSE-SU-2024:11537</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2018-14779/</URL>
      <Description>SUSE CVE CVE-2018-14779 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2018-14780/</URL>
      <Description>SUSE CVE CVE-2018-14780 page</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <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="libykcs11-2-2.2.0-1.5">
      <FullProductName ProductID="libykcs11-2-2.2.0-1.5">libykcs11-2-2.2.0-1.5</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libykcs11-devel-2.2.0-1.5">
      <FullProductName ProductID="libykcs11-devel-2.2.0-1.5">libykcs11-devel-2.2.0-1.5</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libykpiv-devel-2.2.0-1.5">
      <FullProductName ProductID="libykpiv-devel-2.2.0-1.5">libykpiv-devel-2.2.0-1.5</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libykpiv2-2.2.0-1.5">
      <FullProductName ProductID="libykpiv2-2.2.0-1.5">libykpiv2-2.2.0-1.5</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="yubico-piv-tool-2.2.0-1.5">
      <FullProductName ProductID="yubico-piv-tool-2.2.0-1.5">yubico-piv-tool-2.2.0-1.5</FullProductName>
    </Branch>
    <Relationship ProductReference="libykcs11-2-2.2.0-1.5" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:libykcs11-2-2.2.0-1.5">libykcs11-2-2.2.0-1.5 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="libykcs11-devel-2.2.0-1.5" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:libykcs11-devel-2.2.0-1.5">libykcs11-devel-2.2.0-1.5 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="libykpiv-devel-2.2.0-1.5" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:libykpiv-devel-2.2.0-1.5">libykpiv-devel-2.2.0-1.5 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="libykpiv2-2.2.0-1.5" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:libykpiv2-2.2.0-1.5">libykpiv2-2.2.0-1.5 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="yubico-piv-tool-2.2.0-1.5" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:yubico-piv-tool-2.2.0-1.5">yubico-piv-tool-2.2.0-1.5 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">A buffer overflow issue was discovered in the Yubico-Piv 1.5.0 smartcard driver. The file lib/ykpiv.c contains the following code in the function `ykpiv_transfer_data()`: {% highlight c %} if(*out_len + recv_len - 2 &gt; max_out) { fprintf(stderr, "Output buffer to small, wanted to write %lu, max was %lu.", *out_len + recv_len - 2, max_out); } if(out_data) { memcpy(out_data, data, recv_len - 2); out_data += recv_len - 2; *out_len += recv_len - 2; } {% endhighlight %} -- it is clearly checked whether the buffer is big enough to hold the data copied using `memcpy()`, but no error handling happens to avoid the `memcpy()` in such cases. This code path can be triggered with malicious data coming from a smartcard.</Note>
    </Notes>
    <CVE>CVE-2018-14779</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Tumbleweed:libykcs11-2-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:libykcs11-devel-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:libykpiv-devel-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:libykpiv2-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:yubico-piv-tool-2.2.0-1.5</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL/>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2018-14779.html</URL>
        <Description>CVE-2018-14779</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1104809</URL>
        <Description>SUSE Bug 1104809</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="2">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">An out-of-bounds read issue was discovered in the Yubico-Piv 1.5.0 smartcard driver. The file lib/ykpiv.c contains the following code in the function `_ykpiv_fetch_object()`: {% highlight c %} if(sw == SW_SUCCESS) { size_t outlen; int offs = _ykpiv_get_length(data + 1, &amp;outlen); if(offs == 0) { return YKPIV_SIZE_ERROR; } memmove(data, data + 1 + offs, outlen); *len = outlen; return YKPIV_OK; } else { return YKPIV_GENERIC_ERROR; } {% endhighlight %} -- in the end, a `memmove()` occurs with a length retrieved from APDU data. This length is not checked for whether it is outside of the APDU data retrieved. Therefore the `memmove()` could copy bytes behind the allocated data buffer into this buffer.</Note>
    </Notes>
    <CVE>CVE-2018-14780</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Tumbleweed:libykcs11-2-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:libykcs11-devel-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:libykpiv-devel-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:libykpiv2-2.2.0-1.5</ProductID>
        <ProductID>openSUSE Tumbleweed:yubico-piv-tool-2.2.0-1.5</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL/>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2018-14780.html</URL>
        <Description>CVE-2018-14780</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1104809</URL>
        <Description>SUSE Bug 1104809</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1104811</URL>
        <Description>SUSE Bug 1104811</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
