CVE-2026-66034

libssh2 Heap Out-of-Bounds Read via publickey subsystem

State
Published
Severity
7.7 High
Published
Jul 24, 2026
Updated
Jul 28, 2026
Reserved
Jul 23, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
4.07.7 HighCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NVulnCheck
3.17.5 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:HVulnCheck

Weaknesses

Affected Products

ProductVersions
libssh2libssh2
  • 1.11.1 and earlierAffected
  • a13bb6c773f0d55ad1628cede57e99803cd898d9Not affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.