Issued:
2013-02-20
Updated:
2013-02-20

RHBA-2013:0329 - libssh2 bug fix and enhancement update


Synopsis

libssh2 bug fix and enhancement update

Type/Severity

Bug Fix Advisory (none)

Topic

Updated libssh2 packages that fix several bugs and add various enhancements are now available for Red Hat Enterprise Linux 6.

Description

The libssh2 packages provide a library that implements the SSH2 protocol.

The libssh2 packages have been upgraded to upstream version 1.4.2, which provides a number of bug fixes and enhancements over the previous version, including fixes for memory leaks, missing error handling, and incompatibilities in the SSH2 protocol implementation. (BZ#749873)

This update fixes the following bugs:

  • With this update, several stability patches have been added to libssh2. As a result, memory leaks, buffer overruns, and null pointer problems are avoided when managing a large number of nodes. (BZ#741919)

  • Previously, an insufficient data type was used for certain bit shift operations in the libssh2 code. This behavior caused the curl utility to terminate unexpectedly when downloading files larger than 2 GB over the SSH File Transfer Protocol (SFTP). With this update, the underlying code has been modified to use the correct data type and curl now works as expected in the described scenario. (BZ#801428)

  • Under certain circumstances, libssh2 failed to resume an interrupted key exchange when sending a large amount of data over SSH. Moreover, further data was erroneously sent, which caused the remote site to close the connection immediately. With this update, libssh2 has been modified to properly resume the interrupted key exchange before sending any further data. As a result, the connection remains open and the data transfer proceeds as expected. (BZ#804145)

  • Previously, the function for writing to a channel in libssh2 incorrectly handled error states, which, under certain circumstances, resulted in an infinite loop. The function has been fixed and the error handling now works properly. (BZ#804150)

  • Previously, the window size adjustment in libssh2 did not work properly, which resulted in unclosed connections when transferring huge files over SCP or SFTP, extensive memory consumption or both. The window-adjusting code has been fixed and works now properly for blocks of arbitrary size. (BZ#806862, BZ#873785)

  • Previously, libssh2 incorrectly returned the LIBSSH2_ERROR_EAGAIN error code when operating in blocking mode. The error code is used by libssh2 internally to initiate a blocking operation on a socket. The error code was, however, not properly cleared on success and leaked through the public API of libssh2. An upstream patch has been applied to clear the error code prior to initiating the blocking operation, and libssh2 no longer returns LIBSSH2_ERROR_EAGAIN when operating in blocking mode. (BZ#826511)

All users of libssh2 are advised to upgrade to these updated packages, which fix these bugs and add these enhancements. After installing these updated packages, all running applications using libssh2 have to be restarted for this update to take effect.

Solution

Before applying this update, make sure all previously-released errata relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at https://access.redhat.com/knowledge/articles/11258

Affected Products

ProductVersionArch
Red Hat Enterprise Linux for Scientific Computing6x86_64
Red Hat Enterprise Linux for Power, big endian6ppc64
Red Hat Enterprise Linux for IBM z Systems6s390x
Red Hat Enterprise Linux Workstation6x86_64
Red Hat Enterprise Linux Workstation6i386
Red Hat Enterprise Linux Server6x86_64
Red Hat Enterprise Linux Server6i386
Red Hat Enterprise Linux Server from RHUI6x86_64
Red Hat Enterprise Linux Server from RHUI6i386
Red Hat Enterprise Linux Server - Retired Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems)6s390x
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems)6s390x
Red Hat Enterprise Linux Desktop6x86_64
Red Hat Enterprise Linux Desktop6i386

Updated Packages

  • libssh2-devel-1.4.2-1.el6.ppc.rpm
  • libssh2-devel-1.4.2-1.el6.i686.rpm
  • libssh2-debuginfo-1.4.2-1.el6.ppc64.rpm
  • libssh2-docs-1.4.2-1.el6.s390x.rpm
  • libssh2-1.4.2-1.el6.i686.rpm
  • libssh2-1.4.2-1.el6.ppc.rpm
  • libssh2-1.4.2-1.el6.ppc64.rpm
  • libssh2-1.4.2-1.el6.s390x.rpm
  • libssh2-debuginfo-1.4.2-1.el6.i686.rpm
  • libssh2-1.4.2-1.el6.src.rpm
  • libssh2-debuginfo-1.4.2-1.el6.ppc.rpm
  • libssh2-docs-1.4.2-1.el6.ppc64.rpm
  • libssh2-docs-1.4.2-1.el6.i686.rpm
  • libssh2-debuginfo-1.4.2-1.el6.x86_64.rpm
  • libssh2-debuginfo-1.4.2-1.el6.s390x.rpm
  • libssh2-devel-1.4.2-1.el6.x86_64.rpm
  • libssh2-devel-1.4.2-1.el6.ppc64.rpm
  • libssh2-devel-1.4.2-1.el6.s390.rpm
  • libssh2-devel-1.4.2-1.el6.s390x.rpm
  • libssh2-1.4.2-1.el6.x86_64.rpm
  • libssh2-1.4.2-1.el6.s390.rpm
  • libssh2-debuginfo-1.4.2-1.el6.s390.rpm
  • libssh2-docs-1.4.2-1.el6.x86_64.rpm

Fixes

CVEs

(none)

References

(none)


Additional information