<?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">Security update for nodejs</DocumentTitle>
  <DocumentType>SUSE Patch</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>openSUSE-SU-2016:1566-1</ID>
    </Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>1</Number>
        <Date>2016-06-14T06:03:38Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2016-06-14T06:03:38Z</InitialReleaseDate>
    <CurrentReleaseDate>2016-06-14T06:03:38Z</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">Security update for nodejs</Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">This update for nodejs to version 4.4.5 fixes the several issues.

These security issues introduced by the bundled openssl were fixed by going to version 1.0.2h:
- CVE-2016-2107: The AES-NI implementation in OpenSSL did not consider memory allocation during a certain padding check, which allowed remote attackers to obtain sensitive cleartext information via a padding-oracle attack against an AES CBC session (bsc#977616).
- CVE-2016-2105: Integer overflow in the EVP_EncodeUpdate function in crypto/evp/encode.c in OpenSSL allowed remote attackers to cause a denial of service (heap memory corruption) via a large amount of binary data (bsc#977614).
- CVE-2016-0705: Double free vulnerability in the dsa_priv_decode function in crypto/dsa/dsa_ameth.c in OpenSSL allowed remote attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact via a malformed DSA private key (bsc#968047).
- CVE-2016-0797: Multiple integer overflows in OpenSSL allowed remote attackers to cause a denial of service (heap memory corruption or NULL pointer dereference) or possibly have unspecified other impact via a long digit string that is mishandled by the (1) BN_dec2bn or (2) BN_hex2bn function, related to crypto/bn/bn.h and crypto/bn/bn_print.c (bsc#968048).
- CVE-2016-0702: The MOD_EXP_CTIME_COPY_FROM_PREBUF function in crypto/bn/bn_exp.c in OpenSSL did not properly consider cache-bank access times during modular exponentiation, which made it easier for local users to discover RSA keys by running a crafted application on the same Intel Sandy Bridge CPU core as a victim and leveraging cache-bank conflicts, aka a 'CacheBleed' attack (bsc#968050).

These non-security issues were fixed:
- Fix faulty 'if' condition (string cannot equal a boolean).
- buffer: Buffer no longer errors if you call lastIndexOf with a search term longer than the buffer.
- contextify: Context objects are now properly garbage collected, this solves a problem some individuals were experiencing with extreme memory growth.
- Update npm to 2.15.5.
- http: Invalid status codes can no longer be sent. Limited to 3 digit numbers between 100 - 999.
- deps: Fix --gdbjit for embedders. Backported from v8 upstream.
- querystring: Restore throw when attempting to stringify bad surrogate pair.
- https: Under certain conditions SSL sockets may have been causing a memory leak when keepalive is enabled. This is no longer the case.
- lib: The way that we were internally passing arguments was causing a potential leak. By copying the arguments into an array we can avoid this.
- repl: Previously if you were using the repl in strict mode the column number would be wrong in a stack trace. This is no longer an issue.
- deps: An update to v8 that introduces a new flag --perf_basic_prof_only_functions.
- http: A new feature in http(s) agent that catches errors on keep alived connections.
- src: Better support for big-endian systems.
- tls: A new feature that allows you to pass common SSL options to tls.createSecurePair.
- build: Support python path that includes spaces.
- https: A potential fix for #3692 (HTTP/HTTPS client requests throwing EPROTO).
- installer: More readable profiling information from isolate tick logs.
- process: Add support for symbols in event emitters (symbols didn't exist when it was written).
- querystring: querystring.parse() is now 13-22% faster!
- streams: Performance improvements for moving small buffers that shows a 5% throughput gain. IoT projects have been seen to be as much as 10% faster with this change!
</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>
  </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>https://lists.opensuse.org/opensuse-security-announce/2016-06/msg00019.html</URL>
      <Description>E-Mail link for openSUSE-SU-2016:1566-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://www.icasi.org/CVRF/schema/prod/1.1">
    <Branch Type="Product Family" Name="openSUSE Leap 42.1">
      <Branch Type="Product Name" Name="openSUSE Leap 42.1">
        <FullProductName ProductID="openSUSE Leap 42.1">openSUSE Leap 42.1</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="nodejs-4.4.5-27.1">
      <FullProductName ProductID="nodejs-4.4.5-27.1">nodejs-4.4.5-27.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="nodejs-devel-4.4.5-27.1">
      <FullProductName ProductID="nodejs-devel-4.4.5-27.1">nodejs-devel-4.4.5-27.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="nodejs-docs-4.4.5-27.1">
      <FullProductName ProductID="nodejs-docs-4.4.5-27.1">nodejs-docs-4.4.5-27.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="npm-4.4.5-27.1">
      <FullProductName ProductID="npm-4.4.5-27.1">npm-4.4.5-27.1</FullProductName>
    </Branch>
    <Relationship ProductReference="nodejs-4.4.5-27.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 42.1">
      <FullProductName ProductID="openSUSE Leap 42.1:nodejs-4.4.5-27.1">nodejs-4.4.5-27.1 as a component of openSUSE Leap 42.1</FullProductName>
    </Relationship>
    <Relationship ProductReference="nodejs-devel-4.4.5-27.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 42.1">
      <FullProductName ProductID="openSUSE Leap 42.1:nodejs-devel-4.4.5-27.1">nodejs-devel-4.4.5-27.1 as a component of openSUSE Leap 42.1</FullProductName>
    </Relationship>
    <Relationship ProductReference="nodejs-docs-4.4.5-27.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 42.1">
      <FullProductName ProductID="openSUSE Leap 42.1:nodejs-docs-4.4.5-27.1">nodejs-docs-4.4.5-27.1 as a component of openSUSE Leap 42.1</FullProductName>
    </Relationship>
    <Relationship ProductReference="npm-4.4.5-27.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 42.1">
      <FullProductName ProductID="openSUSE Leap 42.1:npm-4.4.5-27.1">npm-4.4.5-27.1 as a component of openSUSE Leap 42.1</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">The MOD_EXP_CTIME_COPY_FROM_PREBUF function in crypto/bn/bn_exp.c in OpenSSL 1.0.1 before 1.0.1s and 1.0.2 before 1.0.2g does not properly consider cache-bank access times during modular exponentiation, which makes it easier for local users to discover RSA keys by running a crafted application on the same Intel Sandy Bridge CPU core as a victim and leveraging cache-bank conflicts, aka a "CacheBleed" attack.</Note>
    </Notes>
    <CVE>CVE-2016-0702</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 42.1:nodejs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-devel-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-docs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:npm-4.4.5-27.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>low</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">Please Install the update.</Description>
        <URL>https://lists.opensuse.org/opensuse-security-announce/2016-06/msg00019.html</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2016-0702.html</URL>
        <Description>CVE-2016-0702</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1007806</URL>
        <Description>SUSE Bug 1007806</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/968044</URL>
        <Description>SUSE Bug 968044</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/968050</URL>
        <Description>SUSE Bug 968050</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/971238</URL>
        <Description>SUSE Bug 971238</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/990370</URL>
        <Description>SUSE Bug 990370</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">Double free vulnerability in the dsa_priv_decode function in crypto/dsa/dsa_ameth.c in OpenSSL 1.0.1 before 1.0.1s and 1.0.2 before 1.0.2g allows remote attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact via a malformed DSA private key.</Note>
    </Notes>
    <CVE>CVE-2016-0705</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 42.1:nodejs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-devel-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-docs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:npm-4.4.5-27.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>low</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">Please Install the update.</Description>
        <URL>https://lists.opensuse.org/opensuse-security-announce/2016-06/msg00019.html</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2016-0705.html</URL>
        <Description>CVE-2016-0705</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/968044</URL>
        <Description>SUSE Bug 968044</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/968047</URL>
        <Description>SUSE Bug 968047</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/971238</URL>
        <Description>SUSE Bug 971238</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/976341</URL>
        <Description>SUSE Bug 976341</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="3">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Multiple integer overflows in OpenSSL 1.0.1 before 1.0.1s and 1.0.2 before 1.0.2g allow remote attackers to cause a denial of service (heap memory corruption or NULL pointer dereference) or possibly have unspecified other impact via a long digit string that is mishandled by the (1) BN_dec2bn or (2) BN_hex2bn function, related to crypto/bn/bn.h and crypto/bn/bn_print.c.</Note>
    </Notes>
    <CVE>CVE-2016-0797</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 42.1:nodejs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-devel-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-docs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:npm-4.4.5-27.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">Please Install the update.</Description>
        <URL>https://lists.opensuse.org/opensuse-security-announce/2016-06/msg00019.html</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2016-0797.html</URL>
        <Description>CVE-2016-0797</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/968044</URL>
        <Description>SUSE Bug 968044</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/968048</URL>
        <Description>SUSE Bug 968048</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/990370</URL>
        <Description>SUSE Bug 990370</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="4">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Integer overflow in the EVP_EncodeUpdate function in crypto/evp/encode.c in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h allows remote attackers to cause a denial of service (heap memory corruption) via a large amount of binary data.</Note>
    </Notes>
    <CVE>CVE-2016-2105</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 42.1:nodejs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-devel-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-docs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:npm-4.4.5-27.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>low</Description>
      </Threat>
    </Threats>
    <CVSSScoreSets>
      <ScoreSet>
        <BaseScore>3.3</BaseScore>
        <Vector>AV:L/AC:M/Au:N/C:N/I:P/A:P</Vector>
      </ScoreSet>
    </CVSSScoreSets>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">Please Install the update.</Description>
        <URL>https://lists.opensuse.org/opensuse-security-announce/2016-06/msg00019.html</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2016-2105.html</URL>
        <Description>CVE-2016-2105</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/977584</URL>
        <Description>SUSE Bug 977584</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/977614</URL>
        <Description>SUSE Bug 977614</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/978492</URL>
        <Description>SUSE Bug 978492</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/989902</URL>
        <Description>SUSE Bug 989902</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/990369</URL>
        <Description>SUSE Bug 990369</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/990370</URL>
        <Description>SUSE Bug 990370</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="5">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a certain padding check, which allows remote attackers to obtain sensitive cleartext information via a padding-oracle attack against an AES CBC session. NOTE: this vulnerability exists because of an incorrect fix for CVE-2013-0169.</Note>
    </Notes>
    <CVE>CVE-2016-2107</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 42.1:nodejs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-devel-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:nodejs-docs-4.4.5-27.1</ProductID>
        <ProductID>openSUSE Leap 42.1:npm-4.4.5-27.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <CVSSScoreSets>
      <ScoreSet>
        <BaseScore>7.1</BaseScore>
        <Vector>AV:N/AC:M/Au:N/C:C/I:N/A:N</Vector>
      </ScoreSet>
    </CVSSScoreSets>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">Please Install the update.</Description>
        <URL>https://lists.opensuse.org/opensuse-security-announce/2016-06/msg00019.html</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2016-2107.html</URL>
        <Description>CVE-2016-2107</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/976942</URL>
        <Description>SUSE Bug 976942</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/977584</URL>
        <Description>SUSE Bug 977584</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/977616</URL>
        <Description>SUSE Bug 977616</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/978492</URL>
        <Description>SUSE Bug 978492</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/990369</URL>
        <Description>SUSE Bug 990369</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/990370</URL>
        <Description>SUSE Bug 990370</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
