CVE-2026-66035CWE-122

libssh2 Heap Buffer Overflow via ETM Cipher Negotiation

High · published July 24, 2026

CVSS v4.0
7.7
EPSS
0%
Percentile
39.5
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v4.0
7.7 · HIGH
Vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS
0.00472 · 39.5th percentile
Weakness
CWE-122 · Heap-based Buffer Overflow
Published
2026-07-24T16:45Z
EPSS history
Timeline
  • 24 JUL 16:45Z
    libssh2 Heap Buffer Overflow via ETM Cipher Negotiation
    cvelistv5