SUSE-RU-2023:4066-1

Source
https://www.suse.com/support/update/announcement/2023/suse-ru-20234066-1/
Import Source
https://ftp.suse.com/pub/projects/security/osv/SUSE-RU-2023:4066-1.json
JSON Data
https://api.osv.dev/v1/vulns/SUSE-RU-2023:4066-1
Related
Published
2023-10-12T12:32:58Z
Modified
2023-10-12T12:32:58Z
Summary
Recommended update for libssh2_org
Details

This update for libssh2_org fixes the following issues:

libssh2_org was upgraded to version 1.11.0 in SUSE Linux Enterprise Server 12 SP5 (jsc#PED-5721)

Version update to 1.11.0:

  • Enhancements and bugfixes:

    • Adds support for encrypt-then-mac (ETM) MACs
    • Adds support for AES-GCM crypto protocols
    • Adds support for sk-ecdsa-sha2-nistp256 and sk-ssh-ed25519 keys
    • Adds support for RSA certificate authentication
    • Adds FIDO support with *_sk() functions
    • Adds RSA-SHA2 key upgrading to OpenSSL, WinCNG, mbedTLS, OS400 backends
    • Adds Agent Forwarding and libssh2agentsign()
    • Adds support for Channel Signal message libssh2channelsignal_ex()
    • Adds support to get the user auth banner message libssh2userauthbanner()
    • Adds LIBSSH2NO{MD5, HMACRIPEMD, DSA, RSA, RSASHA1, ECDSA, ED25519, AESCBC, AESCTR, BLOWFISH, RC4, CAST, 3DES} options
    • Adds direct stream UNIX sockets with libssh2channeldirectstreamlocalex()
    • Adds wolfSSL support to CMake file
    • Adds mbedTLS 3.x support
    • Adds LibreSSL 3.5 support
    • Adds support for CMake 'unity' builds
    • Adds CMake support for building shared and static libs in a single pass
    • Adds symbol hiding support to CMake
    • Adds support for libssh2.rc for all build tools
    • Adds .zip, .tar.xz and .tar.bz2 release tarballs
    • Enables ed25519 key support for LibreSSL 3.7.0 or higher
    • Improves OpenSSL 1.1 and 3 compatibility
    • Now requires OpenSSL 1.0.2 or newer
    • Now requires CMake 3.1 or newer
    • SFTP: Adds libssh2sftpopenexr() and libssh2sftpopen_r() extended APIs
    • SFTP: No longer has a packet limit when reading a directory
    • SFTP: now parses attribute extensions if they exist
    • SFTP: no longer will busy loop if SFTP fails to initialize
    • SFTP: now clear various errors as expected
    • SFTP: no longer skips files if the line buffer is too small
    • SCP: add option to not quote paths
    • SCP: Enables 64-bit offset support unconditionally
    • Now skips leading \r and \n characters in banner_receive()
    • Enables secure memory zeroing with all build tools on all platforms
    • No longer logs SSHMSGREQUEST_FAILURE packets from keepalive
    • Speed up base64 encoding by 7x
    • Assert if there is an attempt to write a value that is too large
    • WinCNG: fix memory leak in libssh2dh_secret()
    • Added protection against possible null pointer dereferences
    • Agent now handles overly large comment lengths
    • Now ensure KEX replies don't include extra bytes
    • Fixed possible buffer overflow when receiving SSHMSGUSERAUTH_BANNER
    • Fixed possible buffer overflow in keyboard interactive code path
    • Fixed overlapping memcpy()
    • Fixed DLL import name
    • Renamed local RANDOM_PADDING macro to avoid unexpected define on Windows
    • Support for building with gcc versions older than 8
    • Improvements to CMake, Makefile, NMakefile, GNUmakefile, autoreconf files
    • Restores ANSI C89 compliance
    • Enabled new compiler warnings and fixed/silenced them
    • Improved error messages
    • Now uses CIFuzz
    • Numerous minor code improvements
    • Improvements to CI builds
    • Improvements to unit tests
    • Improvements to doc files
    • Improvements to example files
    • Removed 'old gex' build option
    • Removed no-encryption/no-mac builds
    • Removed support for NetWare and Watcom wmake build files

Version update to 1.10.0:

  • Enhancements and bugfixes:

    • support ECDSA certificate authentication
    • fix detailed libssh2error being overwritten by generic errors
    • unified error handling
    • fix libssh2random() silently discarding errors
    • don't error if using keys without RSA
    • avoid OpenSSL latent error in FIPS mode
    • fix EVP_Cipher interface change in openssl 3
    • fix potential overwrite of buffer when reading stdout of command
    • use stringbuf in ecdhsha2_nistp() to avoid attempting to parse malformed data
    • correct a typo which may lead to stack overflow
    • fix random big number generation to match openssl
    • added key exchange group16-sha512 and group18-sha512.
    • add support for an OSS Fuzzer fuzzing target
    • adds support for ECDSA for both key exchange and host key algorithms
    • clean up curve25519 code
    • update the min, preferred and max DH group values based on RFC 8270.
    • changed type of LIBSSH2FX* constants to unsigned long
    • added diffie-hellman-group14-sha256 kex
    • fix for use of uninitialized aesctrcipher.keylen when using HAVEOPAQUE_STRUCTS, regression
    • fixes memory leaks and use after free AES EVP_CIPHER contexts when using OpenSSL 1.0.x.
    • fixes crash with delayed compression option using Bitvise server.
    • adds support for PKIX key reading
    • use new API to parse data in packetx11open() for better bounds checking.
    • double the static buffer size when reading and writing known hosts
    • improved bounds checking in packetqueuelistener
    • improve message parsing (CVE-2019-17498)
    • improve bounds checking in kexagreemethods()
    • adding SSH agent forwarding.
    • fix agent forwarding message, updated example.
    • added integration test code and cmake target. Added example to cmake list.
    • don't call libssh2_crypto_exit() until _libssh2_initialized count is down to zero.
    • add an EWOULDBLOCK check for better portability
    • fix off by one error when loading public keys with no id
    • fix use-after-free crash on reinitialization of openssl backend
    • preserve error info from agentlistidentities()
    • make sure the error code is set in libssh2channel_open()
    • fixed misspellings
    • fix potential typecast error for _libssh2_ecdsa_key_get_curve_type
    • rename libssh2ecdsakeygetcurvetype to libssh2ecdsagetcurve_type

Version update to 1.9.0: [bsc#1178083, jsc#SLE-16922]

  • Enhancements and bugfixes:

    • adds ECDSA keys and host key support when using OpenSSL
    • adds ED25519 key and host key support when using OpenSSL 1.1.1
    • adds OpenSSH style key file reading
    • adds AES CTR mode support when using WinCNG
    • adds PEM passphrase protected file support for Libgcrypt and WinCNG
    • adds SHA256 hostkey fingerprint
    • adds libssh2agentgetidentitypath() and libssh2agentsetidentitypath()
    • adds explicit zeroing of sensitive data in memory
    • adds additional bounds checks to network buffer reads
    • adds the ability to use the server default permissions when creating sftp directories
    • adds support for building with OpenSSL no engine flag
    • adds support for building with LibreSSL
    • increased sftp packet size to 256k
    • fixed oversized packet handling in sftp
    • fixed building with OpenSSL 1.1
    • fixed a possible crash if sftp stat gets an unexpected response
    • fixed incorrect parsing of the KEX preference string value
    • fixed conditional RSA and AES-CTR support
    • fixed a small memory leak during the key exchange process
    • fixed a possible memory leak of the ssh banner string
    • fixed various small memory leaks in the backends
    • fixed possible out of bounds read when parsing public keys from the server
    • fixed possible out of bounds read when parsing invalid PEM files
    • no longer null terminates the scp remote exec command
    • now handle errors when diffie hellman key pair generation fails
    • improved building instructions
    • improved unit tests
  • Version update to 1.8.2: [bsc#1130103]

    Bug fixes:

    • Fixed the misapplied userauth patch that broke 1.8.1
    • moved the MAX size declarations from the public header

Update to 1.7.0

  • Changes:
    • libssh2sessionsetlasterror: Add function
    • mac: Add support for HMAC-SHA-256 and HMAC-SHA-512
    • kex: Added diffie-hellman-group-exchange-sha256 support
    • many bugfixes

Update to 1.6.0

  • Changes:

    • Added libssh2userauthpublickey_frommemory()
  • Bug fixes:

    • wait_socket: wrong use of difftime()
    • userauth: Fixed prompt text no longer being copied to the prompts struct
    • mingw build: allow to pass custom CFLAGS
    • Let mansyntax.sh work regardless of where it is called from Init HMAC_CTX before using it
    • direct_tcpip: Fixed channel write
    • WinCNG: fixed backend breakage
    • OpenSSL: caused by introducing libssh2hmacctx_init
    • userauth.c: fix possible dereferences of a null pointer
    • wincng: Added explicit clear memory feature to WinCNG backend
    • openssl.c: fix possible segfault in case EVP_DigestInit fails
    • wincng: fix return code of libssh2md5init()
    • kex: do not ignore failure of libssh2sha1init()
    • scp: fix that scp_send may transmit not initialised memory
    • scp.c: improved command length calculation
    • nonblocking examples: fix warning about unused tvdiff on Mac OS X
    • configure: make clear-memory default but WARN if backend unsupported
    • OpenSSL: Enable use of OpenSSL that doesn't have DSA
    • OpenSSL: Use correct no-blowfish #define
    • kex: fix libgcrypt memory leaks of bignum
    • libssh2channelopen: more detailed error message
    • wincng: fixed memleak in (block) cipher destructor

Update to 1.5.0:

  • Changes:

    • Added Windows Cryptography API: Next Generation based backend
  • Bug fixes:

    • Security Advisory: Using SSH_MSG_KEXINIT data unbounded, CVE-2015-1782
    • missing libssh2error in libssh2channel_write
    • knownhost: Fix DSS keys being detected as unknown.
    • knownhost: Restore behaviour of libssh2_knownhost_writeline with short buffer.
    • libssh2.h: on Windows, a socket is of type SOCKET, not int
    • libssh2_priv.h: a 1 bit bit-field should be unsigned
    • Fixed two potential use-after-frees of the payload buffer
    • Fixed a few memory leaks in error paths
    • userauth: Fixed an attempt to free from stack on error
    • agentlistidentities: Fixed memory leak on OOM
    • knownhosts: Abort if the hosts buffer is too small
    • sftpclosehandle: ensure the handle is always closed
    • channel_close: Close the channel even in the case of errors
    • docs: added missing libssh2sessionhandshake.3 file
    • docs: fixed a bunch of typos
    • userauth_password: pass on the underlying error code
    • libssh2channelforwardcancel: accessed struct after free
    • libssh2packet_add: avoid using uninitialized memory
    • libssh2channelforwardcancel: avoid memory leaks on error
    • libssh2channel_write: client spins on write when window full
    • publickeypacketreceive: avoid junk in returned pointers
    • channelreceivewindow_adjust: store windows size always
    • userauthhostbasedfromfile: zero assign to avoid uninitialized use
    • agentconnectunix: make sure there's a trailing zero
    • MinGW build: Fixed redefine warnings.
    • sftpdir.c: added authentication method detection.
    • Watcom build: added support for WinCNG build.
    • configure.ac: replace AMCONFIGHEADER with ACCONFIGHEADERS
    • sftp_statvfs: fix for servers not supporting statfvs extension
    • knownhost.c: use LIBSSH2_FREE macro instead of free
    • Fixed compilation using mingw-w64
    • knownhost.c: fixed that 'keytypelen' may be used uninitialized
    • configure: Display individual crypto backends on separate lines
    • agent.c: check return code of MapViewOfFile
    • kex.c: fix possible NULL pointer de-reference with session->kex
    • packet.c: fix possible NULL pointer de-reference within listen_state
    • userauth.c: improve readability and clarity of for-loops
    • packet.c: i < 256 was always true and i would overflow to 0
    • kex.c: make sure mlist is not set to NULL
    • session.c: check return value of session_nonblock in debug mode
    • session.c: check return value of session_nonblock during startup
    • userauth.c: make sure that sp_len is positive and avoid overflows
    • knownhost.c: fix use of uninitialized argument variable wrote
    • openssl: initialise the digest context before calling EVP_DigestInit()
    • libssh2agentinit: init ->fd to LIBSSH2INVALIDSOCKET
    • configure.ac: Add zlib to Requires.private in libssh2.pc if using zlib
    • configure.ac: Rework crypto library detection
    • configure.ac: Reorder --with-* options in --help output
    • configure.ac: Call zlib zlib and not libz in text but keep option names
    • Fix non-autotools builds: Always define the LIBSSH2_OPENSSL CPP macro
    • sftp: seek: Don't flush buffers on same offset
    • sftp: statvfs: Along error path, reset the correct 'state' variable.
    • sftp: Add support for fsync (OpenSSH extension).
    • libssh2channel_read: fix data drop when out of window
    • compmethodzlib_decomp: Improve buffer growing algorithm
    • libssh2channelread: Honour windowsize_initial
    • window_size: redid window handling for flow control reasons
    • knownhosts: handle unknown key types
References

Affected packages

SUSE:Linux Enterprise Software Development Kit 12 SP5 / libssh2_org

Package

Name
libssh2_org
Purl
purl:rpm/suse/libssh2_org&distro=SUSE%20Linux%20Enterprise%20Software%20Development%20Kit%2012%20SP5

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.11.0-29.6.1

Ecosystem specific

{
    "binaries": [
        {
            "libssh2-devel": "1.11.0-29.6.1"
        }
    ]
}

SUSE:Linux Enterprise Server 12 SP5 / libssh2_org

Package

Name
libssh2_org
Purl
purl:rpm/suse/libssh2_org&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.11.0-29.6.1

Ecosystem specific

{
    "binaries": [
        {
            "libssh2-1": "1.11.0-29.6.1",
            "libssh2-1-32bit": "1.11.0-29.6.1"
        }
    ]
}

SUSE:Linux Enterprise Server for SAP Applications 12 SP5 / libssh2_org

Package

Name
libssh2_org
Purl
purl:rpm/suse/libssh2_org&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2012%20SP5

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.11.0-29.6.1

Ecosystem specific

{
    "binaries": [
        {
            "libssh2-1": "1.11.0-29.6.1",
            "libssh2-1-32bit": "1.11.0-29.6.1"
        }
    ]
}