
PEACH
Un cadre d’isolation des locataires
CVE-2026-66034 is a missing bounds check vulnerability in libssh2's publickey subsystem that allows a malicious SSH server to trigger an arbitrary-length heap out-of-bounds read and a free of an uninitialized pointer. It affects libssh2 versions through 1.11.1 and was disclosed on July 24, 2026, with a fix committed as commit a13bb6c. The vulnerability was reported by Vladimir Eli Tokarev and assigned by VulnCheck. It carries a CVSS v3.1 score of 7.5 (High) and a CVSS v4.0 score of 7.7 (High) (Github Advisory, VulnCheck).
The root cause is a missing bounds check (CWE-125: Out-of-bounds Read; CWE-908: Use of Uninitialized Resource) in the libssh2_publickey_list_fetch() function within src/publickey.c. When processing a version 1 publickey subsystem response, the parser reads a server-controlled comment_len value and advances the parse pointer (listFetch_s) without first verifying that sufficient bytes remain in the buffer (listFetch_data), enabling an arbitrary-length heap out-of-bounds read that leaks heap pointers from adjacent allocations, defeating ASLR. Additionally, the error cleanup path frees an uninitialized pointer from a non-zeroed realloc() region, causing heap allocator state corruption. The fix, merged in commit a13bb6c, adds a bounds check ensuring pkey->listFetch_s + comment_len does not exceed pkey->listFetch_data + pkey->listFetch_data_len before proceeding (libssh2 PR #2202, libssh2 commit).
Successful exploitation allows a malicious SSH server to leak heap memory pointers from the connecting client process, defeating ASLR protections and potentially enabling further exploitation. The heap allocator state corruption caused by freeing an uninitialized pointer can lead to application crashes (denial of service) or, when chained with additional vulnerabilities, potentially arbitrary code execution on the client. Confidentiality, integrity, and availability of the affected system are all rated High under CVSS v4.0, reflecting the severity of memory disclosure and heap corruption (Github Advisory, VulnCheck).
comment_len values.libssh2_publickey_list_fetch()) with a crafted version 1 response containing an oversized comment_len value that exceeds the actual remaining buffer length.realloc() region, corrupting heap allocator state, which may be leveraged for further exploitation when combined with additional memory corruption primitives (libssh2 PR #2202, VulnCheck).SIGABRT, SIGSEGV) from libssh2-linked applications.libssh2_publickey_list_fetch() failures or buffer-related errors; SSH client logs showing connections to unrecognized server fingerprints.ldconfig -p | grep libssh2 or package manager queries).Update libssh2 to a version containing commit a13bb6c773f0d55ad1628cede57e99803cd898d9 or later, which adds the missing bounds check in libssh2_publickey_list_fetch(). As a workaround, restrict SSH connections to trusted, verified servers only, and implement SSH server certificate pinning or host key verification in applications using libssh2. Network segmentation to limit client exposure to untrusted SSH servers can reduce the attack surface until patching is complete (libssh2 commit, Github Advisory).
The vulnerability was noted on Mastodon by @thehackerwire shortly after disclosure. Community discussion has been limited, consistent with the early-stage disclosure and absence of active exploitation. The fix was developed by libssh2 maintainer vszakats and reviewed with GitHub Copilot assistance, with the reporter credited as Vladimir Eli Tokarev (libssh2 PR #2202).
Source: Ce rapport a été généré à l’aide de l’IA
Évaluation gratuite des vulnérabilités
Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.
Obtenez une démo personnalisée
"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."