Skip to content
CVE PROGRAM SOURCE RECORD7.7 High

CVE-2026-66035

libssh2 Heap Buffer Overflow via ETM Cipher Negotiation

Description

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

libssh2 libssh2

Default version status: affected

  • 0 to ≤ 1.11.1affected
  • 42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4unaffected
pkg:github/libssh2/libssh2

References