{"id":"CVE-2026-66032","summary":"libssh2 Double-Free Heap Corruption via sftp_open()","details":"libssh2 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.","modified":"2026-09-14T18:26:55.811886217Z","published":"2026-07-24T16:32:39.596Z","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":{"cwe_ids":["CWE-415"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66032.json","cna_assigner":"VulnCheck"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66032.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66032"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/libssh2-double-free-heap-corruption-via-sftp-open"},{"type":"FIX","url":"https://github.com/libssh2/libssh2/commit/5e4776146552d898b9c0e1b313cd093fa8dc92d0"},{"type":"FIX","url":"https://github.com/libssh2/libssh2/pull/2180"},{"type":"PACKAGE","url":"https://github.com/libssh2/libssh2"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/libssh2/libssh2","events":[{"introduced":"0"},{"fixed":"5e4776146552d898b9c0e1b313cd093fa8dc92d0"}],"database_specific":{"cpe":"cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"last_affected":"1.11.1"}],"source":["CPE_RANGE","REFERENCES"]}}],"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-66032.json","vanir_signatures_modified":"2026-08-18T18:40:06Z","vanir_signatures":[{"signature_type":"Function","signature_version":"v1","source":"https://github.com/libssh2/libssh2/commit/5e4776146552d898b9c0e1b313cd093fa8dc92d0","target":{"file":"src/sftp.c","function":"sftp_open"},"deprecated":false,"digest":{"length":5058,"function_hash":"33264403999217637035238251445367858212"},"id":"CVE-2026-66032-83cc2e9f"},{"source":"https://github.com/libssh2/libssh2/commit/5e4776146552d898b9c0e1b313cd093fa8dc92d0","target":{"file":"src/sftp.c"},"deprecated":false,"digest":{"line_hashes":["324192115594221831694647950376857451632","336061196034926044958593142467814960912","41304970594478553678543807861292796172","332648750590961424773944216179931312826"],"threshold":0.9},"id":"CVE-2026-66032-a50a072b","signature_type":"Line","signature_version":"v1"}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}