Out-of-bounds Read in Libssh2

CVE-2026-66034

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.

Vulnerability class: Buffer Overflow

EPSS: 0.004 (33.5th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H.

Affected products

  • Libssh2 — versions 0, a13bb6c773f0d55ad1628cede57e99803cd898d9

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-66034?
CVE-2026-66034 is a high-severity vulnerability in Libssh2, classified under Out-of-bounds Read. CVSS score: 7.5/10. Published 2026-07-24.
How severe is CVE-2026-66034?
High severity. CVSS v3 base score is 7.5 out of 10.