Description
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.
References (3)
Core 3
Core References
Patch patch
Patch Commit
https://github.com/libssh2/libssh2/commit/5e4776146552d898b9c0e1b313cd093fa8dc92d0
Third Party Advisory third-party-advisory
https://www.vulncheck.com/advisories/libssh2-double-free-heap-corruption-via-sftp-open
Scores
CVSS v3
8.8
EPSS
0.0029
EPSS Percentile
21.1%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
total
Details
CWE
CWE-415
Status
published
Products (2)
libssh2/libssh2
< 1.11.1
libssh2/libssh2
5e4776146552d898b9c0e1b313cd093fa8dc92d0
Published
Jul 24, 2026
Tracked Since
Jul 24, 2026