<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glsa SYSTEM "http://www.gentoo.org/dtd/glsa.dtd">
<glsa id="201606-12">
  <title>libssh and libssh2: Multiple vulnerabilities</title>
  <synopsis>Multiple vulnerabilities have been found in libssh and libssh2, the
    worst of which allows remote attackers to cause Denial of Service.
  </synopsis>
  <product type="ebuild"/>
  <announced>2016-06-26</announced>
  <revised count="1">2016-06-26</revised>
  <bug>533366</bug>
  <bug>575474</bug>
  <bug>575484</bug>
  <access>remote</access>
  <affected>
    <package name="net-libs/libssh" auto="yes" arch="*">
      <unaffected range="ge">0.7.3</unaffected>
      <vulnerable range="lt">0.7.3</vulnerable>
    </package>
    <package name="net-libs/libssh2" auto="yes" arch="*">
      <unaffected range="ge">1.7.0</unaffected>
      <vulnerable range="lt">1.7.0</vulnerable>
    </package>
  </affected>
  <background>
    <p>libssh is a mulitplatform C library implementing the SSHv2 and SSHv1
      protocol on client and server side.
    </p>
  </background>
  <description>
    <p>libssh and libssh2 both have a bits/bytes confusion bug and generate an
      abnormaly short ephemeral secret for the diffie-hellman-group1 and
      diffie-hellman-group14 key exchange methods. The resulting secret is 128
      bits long, instead of the recommended sizes of 1024 and 2048 bits
      respectively.
    </p>
    
    <p>Additionally, a double free on dangling pointers in initial key exchange
      packets within libssh could leave dangling pointers in the session crypto
      structures. It is possible to send a malicious kexinit package to
      eventually cause a server to do a double-free before this fix. This could
      be used for a Denial of Service attack.
    </p>
  </description>
  <impact type="normal">
    <p>Remote attackers may gain access to confidential information due to the
      short keysize generated by libssh and libssh2, or cause a Denial of
      Service condition.
    </p>
  </impact>
  <workaround>
    <p>There is no known workaround at this time.</p>
  </workaround>
  <resolution>
    <p>All libssh users should upgrade to the latest version:</p>
    
    <code>
      # emerge --sync
      # emerge --ask --oneshot --verbose "&gt;=net-libs/libssh-0.7.3"
    </code>
    
    <p>All libssh2 users should upgrade to the latest version:</p>
    
    <code>
      # emerge --sync
      # emerge --ask --oneshot --verbose "&gt;=net-libs/libssh2-1.7.0"
    </code>
  </resolution>
  <references>
    <uri link="https://nvd.nist.gov/nvd.cfm?cvename=CVE-2014-8132">CVE-2014-8132</uri>
    <uri link="https://nvd.nist.gov/nvd.cfm?cvename=CVE-2016-0739">CVE-2016-0739</uri>
    <uri link="https://nvd.nist.gov/nvd.cfm?cvename=CVE-2016-0787">CVE-2016-0787</uri>
  </references>
  <metadata tag="requester" timestamp="2015-06-30T22:23:55Z">
    keytoaster
  </metadata>
  <metadata tag="submitter" timestamp="2016-06-26T12:56:59Z">b-man</metadata>
</glsa>
