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 libssh2publickeylistfetch(), the version 1 response parser reads a server-controlled commentlen 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.
{
"cna_assigner": "VulnCheck",
"cwe_ids": [
"CWE-125",
"CWE-908"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66034.json"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "1.11.1"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
],
"cpe": "cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*"
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-66034.json"
[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"198481373953367669992453397832490020519",
"66084080692611109197706311857865589381",
"134017591480821814493369121025966465961",
"128392399449835096795509536162118460613"
]
},
"source": "https://github.com/libssh2/libssh2/commit/a13bb6c773f0d55ad1628cede57e99803cd898d9",
"deprecated": false,
"id": "CVE-2026-66034-206f3d26",
"signature_version": "v1",
"signature_type": "Line",
"target": {
"file": "src/publickey.c"
}
},
{
"target": {
"function": "libssh2_publickey_list_fetch",
"file": "src/publickey.c"
},
"source": "https://github.com/libssh2/libssh2/commit/a13bb6c773f0d55ad1628cede57e99803cd898d9",
"deprecated": false,
"id": "CVE-2026-66034-c7cfc643",
"signature_version": "v1",
"digest": {
"length": 9907.0,
"function_hash": "211152041484863357591819924214302562789"
},
"signature_type": "Function"
}
]
"2026-08-12T16:09:58Z"