{"id":"CVE-2026-66035","aliases":["ALPINE-CVE-2026-66035","AZL-108528","AZL-93399","BELL-CVE-2026-66035","DEBIAN-CVE-2026-66035","EUVD-2026-48722","GHSA-v6rf-8q4r-r495","JLSEC-2026-1088","MGASA-2026-0402","OESA-2026-3392","OESA-2026-3395","OESA-2026-3479","RHSA-2026:46955","ROOT-OS-ALPINE-322-CVE-2026-66035","ROOT-OS-ALPINE-323-CVE-2026-66035","ROOT-OS-DEBIAN-11-CVE-2026-66035","ROOT-OS-DEBIAN-12-CVE-2026-66035","ROOT-OS-DEBIAN-13-CVE-2026-66035","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","UBUNTU-CVE-2026-66035","USN-8722-1","openSUSE-SU-2026:11454-1","openSUSE-SU-2026:21549-1"],"status":"published","title":"libssh2 Heap Buffer Overflow via ETM Cipher Negotiation","description":"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.","severity":{"version":"4.0","score":7.7,"vector":"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00472,"percentile":0.41076,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-122"],"published":"2026-07-24T16:45:24Z","modified":"2026-11-05T05:40:51Z","fixes":[{"ecosystem":"Alpine:v3.21","package":"libssh2","fixed_in":["1.11.1-r3"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"libssh2","fixed_in":["1.11.1-r3"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"libssh2","fixed_in":["1.11.1-r4"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"libssh2","fixed_in":["1.11.1-r4"],"sources":["osv"]},{"ecosystem":"Azure Linux:3","package":"libssh2","fixed_in":["1.11.1-5"],"sources":["osv"]},{"ecosystem":"Alpaquita:23","package":"libssh2","fixed_in":["1.11.1-r4"],"sources":["osv"]},{"ecosystem":"Alpaquita:25","package":"libssh2","fixed_in":["1.11.1-r4"],"sources":["osv"]},{"ecosystem":"Alpaquita:stream","package":"libssh2","fixed_in":["1.11.1-r5"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libssh2","fixed_in":["1.11.1-1+deb13u2"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libssh2","fixed_in":["1.11.1-5"],"sources":["osv"]},{"ecosystem":"Julia","package":"LibSSH2_jll","fixed_in":["1.11.104+0"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"libssh2","fixed_in":["0:1.11.1-10.3.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"libssh2-devel","fixed_in":["0:1.11.1-10.3.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"libssh2-docs","fixed_in":["0:1.11.1-10.3.hum1"],"sources":["osv"]},{"ecosystem":"Root:Debian:11","package":"libssh2","fixed_in":["1.9.0-2+deb11u1.aikido.4","1.9.0-2+deb11u1.aikido.5"],"sources":["osv"]},{"ecosystem":"Root:Debian:11","package":"rootio-libssh2","fixed_in":["1.9.0-2+deb11u1.aikido.4","1.9.0-2+deb11u1.aikido.5"],"sources":["osv"]},{"ecosystem":"Ubuntu:24.04:LTS","package":"libssh2","fixed_in":["1.11.0-4.1ubuntu0.24.04.4"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.04:LTS","package":"libssh2","fixed_in":["1.11.1-1ubuntu0.26.04.4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.21","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-r3"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-r3"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-r4"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-r4"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"rust","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.85.0"},{"last_affected":"1.98.1-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-5"}]}]},{"source":"osv","ecosystem":"Alpaquita:23","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.10.0-r4"},{"fixed":"1.11.1-r4"}]}]},{"source":"osv","ecosystem":"Alpaquita:25","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.11.1-r0"},{"fixed":"1.11.1-r4"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.10.0-r4"},{"fixed":"1.11.1-r5"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-1+deb13u2"}]}],"versions":["1.11.1-1","1.11.1-1+deb13u1"]},{"source":"osv","ecosystem":"Debian:14","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-5"}]}],"versions":["1.11.1-1","1.11.1-2","1.11.1-3","1.11.1-4"]},{"source":"osv","ecosystem":"Julia","package":"LibSSH2_jll","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.11.104+0"}]}]},{"source":"osv","ecosystem":"Mageia:10","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-2.2.mga10"}]}],"bundled":3},{"source":"osv","ecosystem":"Mageia:9","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-1.2.mga9"}]}],"bundled":3},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-10.oe2403sp3"}]}],"bundled":5},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-10.oe2403sp1"}]}],"bundled":5},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP4","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-14.oe2403sp4"}]}],"bundled":6},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.11.1-10.3.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"libssh2-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.11.1-10.3.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"libssh2-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.11.1-10.3.hum1"}]}]},{"source":"osv","ecosystem":"Root:Debian:11","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.9.0-2+deb11u1.aikido.4"},{"fixed":"1.9.0-2+deb11u1.aikido.5"}]}]},{"source":"osv","ecosystem":"Root:Debian:11","package":"rootio-libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.9.0-2+deb11u1.aikido.4"},{"fixed":"1.9.0-2+deb11u1.aikido.5"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Micro 6.2","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-160000.5.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Micro 6.1","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-slfo.1.1_2.1"}]}],"bundled":9},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-160000.5.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-160000.5.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-160000.5.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-160000.5.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Micro 6.0","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-4.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP5-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-29.18.1"}]}],"bundled":9},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-29.18.1"}]}],"bundled":9},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.3","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.4","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.5","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP4-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP5-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP4","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP5","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150200.9.8.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP7","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150600.20.6.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP6-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150600.20.6.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP6","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150600.20.6.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150000.4.35.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150000.4.35.1"}]}],"bundled":8},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP4-LTSS","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-150000.4.35.1"}]}],"bundled":8},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.3-1","1.4.3-2","1.4.3-2ubuntu0.1","1.4.3-2ubuntu0.2","1.4.3-2ubuntu0.2+esm1","1.4.3-2ubuntu0.2+esm2","1.4.3-2ubuntu0.2+esm3","1.4.3-2ubuntu0.2+esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.0-2","1.5.0-2ubuntu0.1","1.5.0-2ubuntu0.1+esm1","1.5.0-2ubuntu0.1+esm2","1.5.0-2ubuntu0.1+esm3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.0-1","1.8.0-1ubuntu0.1","1.8.0-1ubuntu0.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.0-2.1build1","1.8.0-2.1ubuntu0.1","1.8.0-2.1ubuntu0.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.9.0-3","1.10.0-2","1.10.0-2build1","1.10.0-3","1.10.0-3ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-4.1ubuntu0.24.04.4"}]}],"versions":["1.11.0-2","1.11.0-3","1.11.0-4","1.11.0-4.1build1","1.11.0-4.1build2","1.11.0-4.1ubuntu0.24.04.1","1.11.0-4.1ubuntu0.24.04.2","1.11.0-4.1ubuntu0.24.04.3"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-1ubuntu0.26.04.4"}]}],"versions":["1.11.1-1build1","1.11.1-1build2","1.11.1-1ubuntu0.26.04.1","1.11.1-1ubuntu0.26.04.2","1.11.1-1ubuntu0.26.04.3"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.0-4.1ubuntu0.24.04.4"}]}],"versions":["1.11.0-2","1.11.0-3","1.11.0-4","1.11.0-4.1build1","1.11.0-4.1build2","1.11.0-4.1ubuntu0.24.04.1","1.11.0-4.1ubuntu0.24.04.2","1.11.0-4.1ubuntu0.24.04.3"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libssh2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-1ubuntu0.26.04.4"}]}],"versions":["1.11.1-1build1","1.11.1-1build2","1.11.1-1ubuntu0.26.04.1","1.11.1-1ubuntu0.26.04.2","1.11.1-1ubuntu0.26.04.3"],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-4.1"}]}],"bundled":6},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"libssh2_org","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.1-160000.5.1"}]}],"bundled":8}],"products":[{"vendor":"libssh2","product":"libssh2"}],"references":[{"url":"https://github.com/libssh2/libssh2/pull/2198","tags":["issue-tracking","patch","Issue Tracking","Patch","fix","web","article","report"]},{"url":"https://github.com/libssh2/libssh2/commit/42e33d81577ed4b95d4b4f6f845e5ee8efe5eeb4","tags":["patch","Patch","fix","web","article"]},{"url":"https://www.vulncheck.com/advisories/libssh2-heap-buffer-overflow-via-etm-cipher-negotiation","tags":["third-party-advisory","Patch","Third Party Advisory","advisory","web","article","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66035","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-v6rf-8q4r-r495","tags":["web"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-66035","tags":["advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2026-66035","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66035.json","tags":["advisory"]},{"url":"https://github.com/libssh2/libssh2","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-66035","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0402.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36256","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8722-1","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3392","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-58050","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66032","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66033","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66034","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3395","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3479","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-15661","tags":["advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2026:46955","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-66035","tags":["report"]},{"url":"https://access.redhat.com/security/updates/classification/","tags":["article"]},{"url":"https://images.redhat.com/","tags":["article"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_46955.json","tags":["advisory"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2506851","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-66035","tags":["advisory","report"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623049-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1263890","tags":["report"]},{"url":"https://bugzilla.suse.com/1268546","tags":["report"]},{"url":"https://bugzilla.suse.com/1269567","tags":["report"]},{"url":"https://bugzilla.suse.com/1269568","tags":["report"]},{"url":"https://bugzilla.suse.com/1272734","tags":["report"]},{"url":"https://bugzilla.suse.com/1272735","tags":["report"]},{"url":"https://bugzilla.suse.com/1272736","tags":["report"]},{"url":"https://bugzilla.suse.com/1272737","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2025-15661","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-58050","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-58051","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-66032","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-66033","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-66034","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-66035","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-7598","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623187-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1268530","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55199","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623214-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623225-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623245-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1218971","tags":["report"]},{"url":"https://bugzilla.suse.com/1221622","tags":["report"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263525-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263526-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263541-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20264095-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-66035","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-66032","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-66033","tags":["report"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-66035","title":"libssh2 Heap Buffer Overflow via ETM Cipher Negotiation","description":"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.","status":"published","published":"2026-07-24T16:45:24.405Z","modified":"2026-07-28T01:06:26.873Z","cvss":[{"version":"4.0","score":7.7,"vector":"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","level":"high","assessor":"cna"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T14:20:12.939084Z"}],"euvd":[{"id":"EUVD-2026-48722","description":"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.","status":"published","published":"2026-07-24T16:45:24Z","modified":"2026-07-28T01:06:26Z","cvss":[{"version":"4.0","score":7.7,"vector":"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","level":"high"}],"updated_at":"2026-11-02T18:02:33.420584Z"}],"ghsa":[{"id":"GHSA-v6rf-8q4r-r495","title":"libssh2 through 1.11.1, fixed in commit 42e33d8, contains a pre-authentication heap buffer...","description":"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.","status":"published","published":"2026-07-24T18:31:30Z","modified":"2026-07-24T18:31:41Z","cvss":[{"version":"4.0","score":7.7,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T15:09:47.688482Z"}],"nvd":[{"id":"CVE-2026-66035","description":"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.","status":"published","published":"2026-07-24T17:17:35.547Z","modified":"2026-11-08T20:10:00.187Z","cvss":[{"version":"4.0","score":7.7,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-122"],"updated_at":"2026-11-08T22:11:10.382235Z"}],"osv":[{"id":"ALPINE-CVE-2026-66035","description":"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.","status":"published","published":"2026-07-24T17:17:35.547Z","modified":"2026-10-21T08:30:02.573713663Z","cvss":[{"version":"4.0","score":7.7,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-02T15:27:50.764331Z"},{"id":"BELL-CVE-2026-66035","status":"published","published":"2026-07-28T06:03:59.577495Z","modified":"2026-09-09T07:15:05.770001005Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:25.231222Z"},{"id":"CVE-2026-66035","title":"libssh2 Heap Buffer Overflow via ETM Cipher Negotiation","description":"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.","status":"published","published":"2026-07-24T16:45:24.405Z","modified":"2026-10-28T11:17:13.445756426Z","cvss":[{"version":"4.0","score":7.7,"vector":"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","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T15:45:14.46177Z"},{"id":"DEBIAN-CVE-2026-66035","description":"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.","status":"published","published":"2026-07-24T17:17:35.547Z","modified":"2026-11-09T09:47:31.802544063Z","cvss":[{"version":"4.0","score":7.7,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-09T10:23:19.768736Z"},{"id":"JLSEC-2026-1088","title":"libssh2 through 1.11.1, fixed in commit 42e33d8, contains a pre-authentication heap buffer...","description":"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.","status":"published","published":"2026-07-31T18:09:08.751Z","modified":"2026-07-31T18:20:49.821118906Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":7.7,"vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-02T15:47:18.159338Z"},{"id":"OESA-2026-3392","title":"libssh2 security update","description":"libssh2 is a library implementing the SSH2 protocol as defined by Internet Drafts: SECSH-TRANS(22), SECSH-USERAUTH(25), SECSH-CONNECTION(23), SECSH-ARCH(20), SECSH-FILEXFER(06)*, SECSH-DHGEX(04), and SECSH-NUMBERS(10).\r\n\r\nSecurity Fix(es):\n\nlibssh2 through 1.11.1 reads an attacker-controlled 32-bit attribute count from a publickey-subsystem response and uses it in the allocation num_attrs * sizeof(libssh2_publickey_attribute) without bounds checking, so on 32-bit platforms the multiplication overflows to an undersized buffer. A malicious SSH server can then drive the attribute-parsing loop to write past the allocation, causing a heap buffer overflow in a connecting libssh2 client.(CVE-2026-58050)\n\nlibssh2 through 1.11.1, fixed in commit 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious SSH server to corrupt the heap of any authenticated client opening an SFTP session. When a server responds to SSH_FXP_OPEN with SSH_FXP_STATUS containing FX_OK, the response data buffer is freed, and if a subsequent sftp_packet_require() call returns a specific error such as LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, the same pointer is freed a second time, enabling tcache dup conditions on glibc systems that allow overlapping allocations and function pointer overwrites.(CVE-2026-66032)\n\nlibssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in src/openssl.c that allows a malicious SSH server to crash any connecting client by negotiating AES-GCM ciphers during handshake. Attackers can exploit the underflow in the expression computing blocksize minus aadlen minus authentication tag length to trigger an out-of-bounds read and a memcpy call with a near-SIZE_MAX length argument, causing immediate process crash before any authentication occurs.(CVE-2026-66033)\n\nlibssh2 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.(CVE-2026-66034)\n\nlibssh2 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\u0026apos;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\u0026apos;s SIZE field, enabling tcache bin confusion, overlapping live objects, and function pointer overwrite during the session handshake before authentication.(CVE-2026-66035)","status":"published","published":"2026-08-13T14:02:33Z","modified":"2026-08-16T01:45:20.448451446Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:47.217107Z"},{"id":"OESA-2026-3395","title":"libssh2 security update","description":"libssh2 is a library implementing the SSH2 protocol as defined by Internet Drafts: SECSH-TRANS(22), SECSH-USERAUTH(25), SECSH-CONNECTION(23), SECSH-ARCH(20), SECSH-FILEXFER(06)*, SECSH-DHGEX(04), and SECSH-NUMBERS(10).\r\n\r\nSecurity Fix(es):\n\nlibssh2 through 1.11.1 reads an attacker-controlled 32-bit attribute count from a publickey-subsystem response and uses it in the allocation num_attrs * sizeof(libssh2_publickey_attribute) without bounds checking, so on 32-bit platforms the multiplication overflows to an undersized buffer. A malicious SSH server can then drive the attribute-parsing loop to write past the allocation, causing a heap buffer overflow in a connecting libssh2 client.(CVE-2026-58050)\n\nlibssh2 through 1.11.1, fixed in commit 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious SSH server to corrupt the heap of any authenticated client opening an SFTP session. When a server responds to SSH_FXP_OPEN with SSH_FXP_STATUS containing FX_OK, the response data buffer is freed, and if a subsequent sftp_packet_require() call returns a specific error such as LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, the same pointer is freed a second time, enabling tcache dup conditions on glibc systems that allow overlapping allocations and function pointer overwrites.(CVE-2026-66032)\n\nlibssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in src/openssl.c that allows a malicious SSH server to crash any connecting client by negotiating AES-GCM ciphers during handshake. Attackers can exploit the underflow in the expression computing blocksize minus aadlen minus authentication tag length to trigger an out-of-bounds read and a memcpy call with a near-SIZE_MAX length argument, causing immediate process crash before any authentication occurs.(CVE-2026-66033)\n\nlibssh2 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.(CVE-2026-66034)\n\nlibssh2 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\u0026apos;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\u0026apos;s SIZE field, enabling tcache bin confusion, overlapping live objects, and function pointer overwrite during the session handshake before authentication.(CVE-2026-66035)","status":"published","published":"2026-08-13T14:02:45Z","modified":"2026-08-16T01:45:19.220495056Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:47.217107Z"},{"id":"OESA-2026-3479","title":"libssh2 security update","description":"libssh2 is a library implementing the SSH2 protocol as defined by Internet Drafts: SECSH-TRANS(22), SECSH-USERAUTH(25), SECSH-CONNECTION(23), SECSH-ARCH(20), SECSH-FILEXFER(06)*, SECSH-DHGEX(04), and SECSH-NUMBERS(10).\r\n\r\nSecurity Fix(es):\n\nlibssh2 through 1.11.1, fixed in commit 2dae302, contains an out-of-bounds heap read vulnerability in the sftp_symlink() function in src/sftp.c that allows a malicious SSH server or man-in-the-middle attacker to disclose heap memory contents or cause a crash by sending a crafted SSH_FXP_NAME response. Attackers can supply a link_len value larger than the actual packet data in SSH_FXP_NAME responses for SFTP READLINK and REALPATH operations, triggering a heap buffer over-read of up to target_len minus one bytes due to the missing validation of available packet buffer size before the memcpy operation.(CVE-2025-15661)\n\nlibssh2 through 1.11.1 reads an attacker-controlled 32-bit attribute count from a publickey-subsystem response and uses it in the allocation num_attrs * sizeof(libssh2_publickey_attribute) without bounds checking, so on 32-bit platforms the multiplication overflows to an undersized buffer. A malicious SSH server can then drive the attribute-parsing loop to write past the allocation, causing a heap buffer overflow in a connecting libssh2 client.(CVE-2026-58050)\n\nlibssh2 through 1.11.1, fixed in commit 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious SSH server to corrupt the heap of any authenticated client opening an SFTP session. When a server responds to SSH_FXP_OPEN with SSH_FXP_STATUS containing FX_OK, the response data buffer is freed, and if a subsequent sftp_packet_require() call returns a specific error such as LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED, the same pointer is freed a second time, enabling tcache dup conditions on glibc systems that allow overlapping allocations and function pointer overwrites.(CVE-2026-66032)\n\nlibssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in src/openssl.c that allows a malicious SSH server to crash any connecting client by negotiating AES-GCM ciphers during handshake. Attackers can exploit the underflow in the expression computing blocksize minus aadlen minus authentication tag length to trigger an out-of-bounds read and a memcpy call with a near-SIZE_MAX length argument, causing immediate process crash before any authentication occurs.(CVE-2026-66033)\n\nlibssh2 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.(CVE-2026-66034)\n\nlibssh2 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\u0026apos;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\u0026apos;s SIZE field, enabling tcache bin confusion, overlapping live objects, and function pointer overwrite during the session handshake before authentication.(CVE-2026-66035)","status":"published","published":"2026-08-20T10:01:10Z","modified":"2026-08-20T10:15:04.95517507Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:47.217107Z"},{"id":"RHSA-2026:46955","title":"Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update","status":"published","published":"2026-07-28T10:13:56Z","modified":"2026-10-06T10:31:24.727849431Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:20.984762Z"},{"id":"UBUNTU-CVE-2026-66035","description":"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.","status":"published","published":"2026-07-24T17:17:00Z","modified":"2026-09-22T15:32:24.333087314Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":7.7,"vector":"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","level":"high"}],"updated_at":"2026-11-02T16:56:53.710209Z"},{"id":"AZL-108528","title":"CVE-2026-66035 affecting package rust 1.98.1-1","description":"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.","status":"published","published":"2026-07-24T17:17:35Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:18.199293Z"},{"id":"AZL-93399","title":"CVE-2026-66035 affecting package libssh2 for versions less than 1.11.1-5","description":"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.","status":"published","published":"2026-07-24T17:17:35Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:25.880689Z"},{"id":"MGASA-2026-0402","title":"Updated libssh2 packages fix security vulnerabilities","description":"Double-Free Heap Corruption via sftp_open(). (CVE-2026-66032)\nInteger Underflow DoS via AES-GCM Cipher Negotiation. (CVE-2026-66033)\nHeap Buffer Overflow via ETM Cipher Negotiation. (CVE-2026-66035)\n","status":"published","published":"2026-09-14T16:26:35Z","modified":"2026-09-14T16:30:41.653446903Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:11454-1","title":"libssh2-1-1.11.1-4.1 on GA media","description":"These are all security issues fixed in the libssh2-1-1.11.1-4.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-08-05T00:00:00Z","modified":"2026-08-06T11:15:08.072115692Z","updated_at":"2026-11-02T16:58:39.516824Z"},{"id":"openSUSE-SU-2026:21549-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-10T15:24:32Z","modified":"2026-08-12T18:23:41.472675266Z","updated_at":"2026-11-02T16:58:41.885092Z"},{"id":"ROOT-OS-ALPINE-322-CVE-2026-66035","title":"CVE-2026-66035 in libssh2 - Patched by Root","description":"Root has patched CVE-2026-66035 in the libssh2 package for Root:Alpine:3.22. Multiple fixed versions available.","status":"withdrawn","published":"2026-09-29T09:39:27Z","modified":"2026-10-22T13:00:08.435304003Z","updated_at":"2026-11-02T15:53:28.544053Z"},{"id":"ROOT-OS-ALPINE-323-CVE-2026-66035","title":"CVE-2026-66035 in libssh2 - Patched by Root","description":"Root has patched CVE-2026-66035 in the libssh2 package for Root:Alpine:3.23. Multiple fixed versions available.","status":"withdrawn","published":"2026-09-29T09:29:39Z","modified":"2026-10-22T13:00:07.881513326Z","updated_at":"2026-11-02T15:53:28.544053Z"},{"id":"ROOT-OS-DEBIAN-11-CVE-2026-66035","title":"CVE-2026-66035 in libssh2 - Patched by Root","description":"Root has patched CVE-2026-66035 in the libssh2 package for Root:Debian:11. Multiple fixed versions available.","status":"published","published":"2026-08-20T16:07:02Z","modified":"2026-08-20T17:30:06.285686483Z","updated_at":"2026-11-02T15:53:30.44348Z"},{"id":"ROOT-OS-DEBIAN-12-CVE-2026-66035","title":"CVE-2026-66035 in libssh2 - Patched by Root","description":"Root has patched CVE-2026-66035 in the libssh2 package for Root:Debian:12. Multiple fixed versions available.","status":"withdrawn","published":"2026-08-25T11:14:15Z","modified":"2026-09-07T08:00:08.749174404Z","updated_at":"2026-11-02T15:53:32.570806Z"},{"id":"ROOT-OS-DEBIAN-13-CVE-2026-66035","title":"CVE-2026-66035 in libssh2 - Patched by Root","description":"Root has patched CVE-2026-66035 in the libssh2 package for Root:Debian:13. Multiple fixed versions available.","status":"withdrawn","published":"2026-08-24T16:07:06Z","modified":"2026-10-09T13:00:18.364028319Z","updated_at":"2026-11-02T15:53:33.681527Z"},{"id":"SUSE-SU-2026:23049-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-10T15:24:14Z","modified":"2026-08-12T10:45:03.527208296Z","updated_at":"2026-11-02T15:54:03.503431Z"},{"id":"SUSE-SU-2026:23187-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-55199: pre-authentication DoS via the `SSH_MSG_EXT_INFO` handler (bsc#1268530).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-17T16:37:24Z","modified":"2026-08-26T18:23:31.171326675Z","updated_at":"2026-11-02T15:54:03.503431Z"},{"id":"SUSE-SU-2026:23214-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-10T15:24:14Z","modified":"2026-08-27T18:23:09.163427698Z","updated_at":"2026-11-02T15:54:03.503431Z"},{"id":"SUSE-SU-2026:23225-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-10T15:24:14Z","modified":"2026-08-27T18:23:10.117559844Z","updated_at":"2026-11-02T15:54:03.503431Z"},{"id":"SUSE-SU-2026:23245-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\nSecurity issues fixed:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n\nOther updates and bugfixes:\n\n- Fix an issue with Encrypt-then-MAC family (bsc#1221622).\n  * Test the ETM feature in the remote end's configuration when receiving data. Upstream issue: #1331.\n- Always add the KEX pseudo-methods `ext-info-c` and `kex-strict-c-v00@openssh.com` when configuring custom method list\n  (bsc#1218971).\n  * The strict-kex extension is announced in the list of available KEX methods. However, when the default KEX method\n    list is modified or replaced, the extension is not added back automatically.\n","status":"published","published":"2026-08-19T10:47:36Z","modified":"2026-08-27T18:23:11.283934635Z","updated_at":"2026-11-02T15:54:03.503431Z"},{"id":"SUSE-SU-2026:3525-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-55199: pre-authentication DoS via the `SSH_MSG_EXT_INFO` handler (bsc#1268530).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-07T13:08:26Z","modified":"2026-08-08T09:00:06.084070296Z","updated_at":"2026-11-02T15:54:04.987808Z"},{"id":"SUSE-SU-2026:3526-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-07T13:09:52Z","modified":"2026-08-08T09:00:06.060355593Z","updated_at":"2026-11-02T15:54:04.987808Z"},{"id":"SUSE-SU-2026:3541-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the `sftp_symlink()` function in `src/sftp.c` (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: heap buffer overflow due to missing bounds check in attribute count of publickey-subsystem response\n  (bsc#1269568).\n- CVE-2026-58051: uninitialized pointer freed when malformed responses are sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: denial of service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-08-10T12:50:14Z","modified":"2026-08-11T09:15:07.240632328Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:4095-1","title":"Security update for libssh2_org","description":"This update for libssh2_org fixes the following issues:\n\n- CVE-2025-15661: out-of-bounds heap read vulnerability in the sftp_symlink() function in src/sftp.c (bsc#1268546).\n- CVE-2026-7598: integer overflow in function `userauth_password` of file `src/userauth.c` (bsc#1263890).\n- CVE-2026-58050: attacker controlled attribute count from a publickey-subsystem response is used without bounds\n  checking and can cause to a heap buffer overflow in a connecting libssh2 client (bsc#1269568).\n- CVE-2026-58051: public key list is increased and does not zero-initialized new entries, which can cause an\n  uninitialized pointer to be freed when a malformed response is sent by an SSH server (bsc#1269567).\n- CVE-2026-66032: Arbitrary code execution via double-free in SFTP session (bsc#1272737).\n- CVE-2026-66033: Denial of Service via integer underflow in AES-GCM cipher negotiation (bsc#1272736).\n- CVE-2026-66034: Information disclosure and potential arbitrary code execution via heap out-of-bounds read\n  (bsc#1272735).\n- CVE-2026-66035: Arbitrary code execution via heap buffer overflow during SSH negotiation (bsc#1272734).\n","status":"published","published":"2026-09-09T08:34:01Z","modified":"2026-09-14T18:23:15.58672002Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"USN-8722-1","title":"libssh2 vulnerabilities","description":"It was discovered that libssh2 incorrectly handled certain SFTP server\nresponses. A remote attacker controlling an SSH server could use this issue\nto cause libssh2 to crash or possibly execute arbitrary code.\n(CVE-2026-66032)\n\nIt was discovered that libssh2 incorrectly handled AES-GCM cipher\nnegotiation. A remote attacker controlling an SSH server could possibly use\nthis issue to cause libssh2 to crash, resulting in a denial of service.\n(CVE-2026-66033)\n\nIt was discovered that libssh2 incorrectly handled Encrypt-then-MAC cipher\nnegotiation. A remote attacker controlling an SSH server could use this\nissue to cause libssh2 to crash or possibly execute arbitrary code.\n(CVE-2026-66035)","status":"published","published":"2026-09-03T12:37:05Z","modified":"2026-09-03T22:56:55.638746837Z","updated_at":"2026-11-02T16:58:26.907654Z"}]}}
