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.
References
| Link | Resource |
|---|---|
| https://github.com/libssh2/libssh2/commit/42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4 | Patch |
| https://github.com/libssh2/libssh2/pull/2198 | Issue Tracking Patch |
| https://www.vulncheck.com/advisories/libssh2-heap-buffer-overflow-via-etm-cipher-negotiation | Patch Third Party Advisory |
Configurations
History
30 Jul 2026, 15:41
| Type | Values Removed | Values Added |
|---|---|---|
| References | () https://github.com/libssh2/libssh2/commit/42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4 - Patch | |
| References | () https://github.com/libssh2/libssh2/pull/2198 - Issue Tracking, Patch | |
| References | () https://www.vulncheck.com/advisories/libssh2-heap-buffer-overflow-via-etm-cipher-negotiation - Patch, Third Party Advisory | |
| First Time |
Libssh2 libssh2
Libssh2 |
|
| CPE | cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:* |
24 Jul 2026, 17:17
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-07-24 17:17
Updated : 2026-07-30 15:41
NVD link : CVE-2026-66035
Mitre link : CVE-2026-66035
CVE.ORG link : CVE-2026-66035
JSON object : View
Products Affected
libssh2
- libssh2
CWE
CWE-122
Heap-based Buffer Overflow
