{"id":"CVE-2026-66035","summary":"libssh2 Heap Buffer Overflow via ETM Cipher Negotiation","details":"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.","modified":"2026-09-14T18:26:58.772358139Z","published":"2026-07-24T16:45:24.405Z","related":["SUSE-SU-2026:23049-1","SUSE-SU-2026:23187-1","SUSE-SU-2026:23214-1","SUSE-SU-2026:23225-1","SUSE-SU-2026:23245-1","SUSE-SU-2026:3525-1","SUSE-SU-2026:3526-1","SUSE-SU-2026:3541-1","SUSE-SU-2026:4095-1","openSUSE-SU-2026:11454-1","openSUSE-SU-2026:21549-1"],"database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-122"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66035.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66035.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66035"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/libssh2-heap-buffer-overflow-via-etm-cipher-negotiation"},{"type":"FIX","url":"https://github.com/libssh2/libssh2/commit/42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4"},{"type":"FIX","url":"https://github.com/libssh2/libssh2/pull/2198"},{"type":"PACKAGE","url":"https://github.com/libssh2/libssh2"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/libssh2/libssh2","events":[{"introduced":"0"},{"fixed":"42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"last_affected":"1.11.1"}],"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*"}}],"versions":["libssh2-1.11.1","libssh2-1.11.0","libssh2-1.10.0","libssh2-1.9.0","libssh2-1.8.0","libssh2-1.7.0","libssh2-1.6.0","libssh2-1.5.0","libssh2-1.4.3","libssh2-1.4.2","libssh2-1.4.1","libssh2-1.4.0","libssh2-1.3.0","libssh2-1.2.9","libssh2-1.2.8","libssh2-1.2.7","libssh2-1.2.6","libssh2-1.2.5","libssh2-1.2.4","libssh2-1.2.3","libssh2-1.2.1","libssh2-1.2","RELEASE.1.1","RELEASE.1.0","RELEASE.0.18","RELEASE.0.17","RELEASE.0.16","RELEASE.0.15","beforenb2-0.14","beforenb-0.14","RELEASE.0.14","RELEASE.0.13","RELEASE.0.12","RELEASE.0.11","RELEASE.0.10","RELEASE.0.8","RELEASE.0.7","RELEASE.0.6","RELEASE.0.5","RELEASE.0.3","RELEASE.0.1"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-66035.json","vanir_signatures_modified":"2026-08-18T18:48:27Z","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"194798789246794431973226330957313786150","length":3574},"id":"CVE-2026-66035-2a4095ef","signature_type":"Function","signature_version":"v1","source":"https://github.com/libssh2/libssh2/commit/42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4","target":{"file":"src/transport.c","function":"transport_fullpacket"}},{"digest":{"threshold":0.9,"line_hashes":["134169043152947898383512518039555862257","104460753797033781775243388102015553353","252879134917780202298535148269796609869","132377937468879972229428824267623819060","84558251560958915091751822719033683389","283849024653323403509245380020001618044","102304749765356114626298989055981403620"]},"id":"CVE-2026-66035-64b57de0","signature_type":"Line","signature_version":"v1","source":"https://github.com/libssh2/libssh2/commit/42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4","target":{"file":"src/transport.c"},"deprecated":false}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}