---
id: CVE-2025-15661
title: >-
  libssh2 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 cont…
summary: >-
  libssh2 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 cont…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:H'
cwe:
  - CWE-125
vendor: libssh2
product: libssh2
affected:
  - libssh2 <= 1.11.1
published: '2026-06-18'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T22:10:00.247'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-15661'
references:
  - url: >-
      https://github.com/libssh2/libssh2/commit/2dae3024897e1898d389835151f4e9606227721d
    label: disclosure@vulncheck.com
  - url: 'https://github.com/libssh2/libssh2/pull/1705'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/libssh2/libssh2/pull/1717'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/libssh2-heap-buffer-over-read-via-sftp-symlink-in-sftp-c
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
epss: 0.00648
epssPercentile: 0.50847
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-06-22T18:07:05.411976Z'
ingestedAt: '2026-09-24T15:45:56.735Z'
---

## Overview

libssh2 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.

## Affected

- `libssh2 <= 1.11.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
