| CVE-2026-7598 |
BDSA-2026-9020 |
Critical |
May 01, 2026 |
A security vulnerability has been detected in libssh2 up to 1.11.1. The impacted element is the function userauth_password of the file src/userauth.c.
more...
A security vulnerability has been detected in libssh2 up to 1.11.1. The impacted element is the function userauth_password of the file src/userauth.c. Such manipulation of the argument username_len/password_len leads to integer overflow. The attack may be launched remotely. The name of the patch is 256d04b60d80bf1190e96b0ad1e91b2174d744b1. A patch should be applied to remediate this issue.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-66035 |
BDSA-2026-24123 |
High |
Jul 24, 2026 |
libssh2 through 1.11.1, fixed in commit 42e33d8, contains a pre-authentication heap buffer overflow vulnerability that allows a malicious SSH server to
more...
libssh2 through 1.11.1, fixed in commit 42e33d8, contains a pre-authentication heap buffer overflow vulnerability that allows a malicious SSH server to corrupt heap metadata in any connecting client by sending a packet with a packet_length smaller than the cipher's block size during Encrypt-then-MAC cipher negotiation. In the fullpacket() function in src/transport.c, the ETM path allocates a buffer of packet_length bytes but copies blocksize minus one bytes via memcpy, causing an overflow that on 32-bit glibc writes attacker-controlled bytes into an adjacent chunk's SIZE field, enabling tcache bin confusion, overlapping live objects, and function pointer overwrite during the session handshake before authentication.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-66034 |
BDSA-2026-24122 |
High |
Jul 24, 2026 |
libssh2 through 1.11.1, fixed in commit a13bb6c, contains a missing bounds check vulnerability that allows a malicious SSH server to trigger an arbitra
more...
libssh2 through 1.11.1, fixed in commit a13bb6c, contains a missing bounds check vulnerability that allows a malicious SSH server to trigger an arbitrary-length heap out-of-bounds read and a free of an uninitialized pointer via the publickey subsystem. In libssh2_publickey_list_fetch(), the version 1 response parser reads a server-controlled comment_len value and advances the parse pointer without verifying sufficient bytes remain in the buffer, causing the out-of-bounds read to leak heap pointers from adjacent allocations defeating ASLR, followed by heap allocator state corruption when the error cleanup path frees an uninitialized pointer from a non-zeroed realloc() region.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-66033 |
BDSA-2026-24121 |
High |
Jul 24, 2026 |
libssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in s
more...
libssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in src/openssl.c that allows a malicious SSH server to crash any connecting client by negotiating AES-GCM ciphers during handshake. Attackers can exploit the underflow in the expression computing blocksize minus aadlen minus authentication tag length to trigger an out-of-bounds read and a memcpy call with a near-SIZE_MAX length argument, causing immediate process crash before any authentication occurs.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-66032 |
BDSA-2026-24120 |
High |
Jul 24, 2026 |
libssh2 through 1.11.1, fixed in commit 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious
more...
libssh2 through 1.11.1, fixed in commit 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious SSH server to corrupt the heap of any authenticated client opening an SFTP session. When a server responds to SSH_FXP_OPEN with SSH_FXP_STATUS containing FX_OK, the response data buffer is freed, and if a subsequent sftp_packet_require() call returns a specific error such as LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, the same pointer is freed a second time, enabling tcache dup conditions on glibc systems that allow overlapping allocations and function pointer overwrites.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-58051 |
BDSA-2026-17142 |
Medium |
Jun 28, 2026 |
libssh2 through 1.11.1 grows its publickey list with SSH2_REALLOC but does not zero-initialize new entries before parsing populates them, so a parse fa
more...
libssh2 through 1.11.1 grows its publickey list with SSH2_REALLOC but does not zero-initialize new entries before parsing populates them, so a parse failure reaching the cleanup path leaves libssh2_publickey_list_free operating on an uninitialized entry. A malicious SSH server offering the publickey subsystem can use a malformed response to make cleanup free an uninitialized, attacker-influenceable attrs pointer in a connecting libssh2 client.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-58050 |
BDSA-2026-17139 |
High |
Jun 28, 2026 |
libssh2 through 1.11.1 reads an attacker-controlled 32-bit attribute count from a publickey-subsystem response and uses it in the allocation num_attrs
more...
libssh2 through 1.11.1 reads an attacker-controlled 32-bit attribute count from a publickey-subsystem response and uses it in the allocation num_attrs * sizeof(libssh2_publickey_attribute) without bounds checking, so on 32-bit platforms the multiplication overflows to an undersized buffer. A malicious SSH server can then drive the attribute-parsing loop to write past the allocation, causing a heap buffer overflow in a connecting libssh2 client.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-55200 |
BDSA-2026-15648 |
High |
Jun 17, 2026 |
libssh2 through 1.11.1, fixed in commit 7acf3df contains an out-of-bounds write vulnerability in ssh2_transport_read() that fails to enforce upper boun
more...
libssh2 through 1.11.1, fixed in commit 7acf3df contains an out-of-bounds write vulnerability in ssh2_transport_read() that fails to enforce upper bounds on packet_length field. Remote attackers can send crafted SSH packets with excessively large packet_length values to corrupt heap memory and achieve remote code execution.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2026-55199 |
BDSA-2026-15647 |
High |
Jun 17, 2026 |
libssh2 through 1.11.1, fixed in commit 1762685, contains a pre-authentication denial of service vulnerability in the SSH_MSG_EXT_INFO handler in src/p
more...
libssh2 through 1.11.1, fixed in commit 1762685, contains a pre-authentication denial of service vulnerability in the SSH_MSG_EXT_INFO handler in src/packet.c that allows a malicious SSH server to cause a client CPU exhaustion loop by sending a crafted extension count value. A malicious server can set nr_extensions to 0xFFFFFFFF during key exchange, causing the client to spin in a tight CPU loop for over 60 seconds because return values from _libssh2_get_string() are unchecked and the session timeout does not apply to CPU-bound loops.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|
| CVE-2025-15661 |
BDSA-2025-124323 |
Medium |
Jun 18, 2026 |
libssh2 through 1.11.1, fixed in commit 2dae302, contains an out-of-bounds heap read vulnerability in the sftp_symlink() function in src/sftp.c that al
more...
libssh2 through 1.11.1, fixed in commit 2dae302, contains an out-of-bounds heap read vulnerability in the sftp_symlink() function in src/sftp.c that allows a malicious SSH server or man-in-the-middle attacker to disclose heap memory contents or cause a crash by sending a crafted SSH_FXP_NAME response. Attackers can supply a link_len value larger than the actual packet data in SSH_FXP_NAME responses for SFTP READLINK and REALPATH operations, triggering a heap buffer over-read of up to target_len minus one bytes due to the missing validation of available packet buffer size before the memcpy operation.
less...
|
1.11.1, 1.11.0, 1.10.0, 1.8.2, 1.8.1, 1.8.0, 1.7.0, 1.6.0, 1.4.3, 1.4.1
|