CVE-2019-13115
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c...
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
8.1
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
CVE-2019-13115- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - CVSS 2.0
- 5.8 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:P - Weakness
- CWE-125, CWE-190
- Updated
- 2026-11-02
CVE List No score
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
CVE-2019-13115- Updated
- 2026-11-02
EUVDEUVD-2019-4656 No score
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
EUVD-2019-4656- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-98vm-qgxx-5rjm
8.1
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c...
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds write in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to execute code on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
GHSA-98vm-qgxx-5rjm- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVALPINE-CVE-2019-13115
8.1
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
ALPINE-CVE-2019-13115- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2019-13115
8.1
CVE-2019-13115 does not affect BellSoft software
- Record
BELL-CVE-2019-13115- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSV
8.1
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
CVE-2019-13115- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2019-13115
8.1
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
DEBIAN-CVE-2019-13115- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-13115
8.1
In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.
- Record
UBUNTU-CVE-2019-13115- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1776864708 No score
Fix CVE(s): CVE-2019-13115, CVE-2019-3855, CVE-2019-3856, CVE-2019-3863
- SECURITY UPDATE: integer overflow in transport read allowing
out-of-bounds write via crafted SSH packet
- debian/patches/CVE-2019-3855.patch: add packet_length bounds check against LIBSSH2_PACKET_MAXPAYLOAD in transport read
- CVE-2019-3855
- SECURITY UPDATE: integer overflow in keyboard-interactive handling
allowing out-of-bounds write via crafted num-prompts value
- debian/patches/CVE-2019-3856.patch: cap num_prompts at 100 to prevent excessive allocation in keyboard-interactive auth
- CVE-2019-3856
- SECURITY UPDATE: integer overflow in keyboard-interactive response
allowing out-of-bounds write via crafted response lengths
- debian/patches/CVE-2019-3863.patch: add SIZE_MAX overflow check in keyboard-interactive response packet length calculation
- CVE-2019-3863
- SECURITY UPDATE: out-of-bounds memory access in kex exchange when
reading malformed data in diffie_hellman_sha1/sha256
- debian/patches/CVE-2019-13115.patch: add _libssh2_copy_string() bounds-checked helper and use it in kex DH group exchange
- CVE-2019-13115
- Record
CLSA-2026-1776864708- Updated
- 2026-11-02
OSVCLSA-2026-1778159627 No score
libssh2: Fix of 2 CVEs
- CVE-2019-13115: add bounds-checked string_buf helpers and use them in diffie_hellman_sha1() to prevent out-of-bounds read on malformed KEX reply
- CVE-2019-17498: harden bounds checks in SSH_MSG_DISCONNECT, SSH_MSG_DEBUG and SSH_MSG_GLOBAL_REQUEST handlers to prevent integer overflow / out-of-bounds read
- Record
CLSA-2026-1778159627- Updated
- 2026-11-02
OSVUSN-5308-1 No score
libssh2 vulnerabilities
It was discovered that libssh2 mishandled certain input. If libssh2 were used to connect to a malicious or compromised SSH server, a remote, unauthenticated attacker could possibly execute arbitrary code on the client system. (CVE-2019-3855)
It was discovered that libssh2 incorrectly handled prompt requests. A remote attacker could possibly use this issue to execute arbitrary code. (CVE-2019-3856)
It was discovered that libssh2 incorrectly handled SSH_MSG_CHANNEL_REQUEST packets. A remote attacker could possibly use this issue to execute arbitrary code, cause a denial of service, or obtain sensitive information. (CVE-2019-3857, CVE-2019-3862)
It was discovered that libssh2 incorrectly handled specially crafted SFTP packets. A remote attacker could possibly use this issue to cause a denial of service or obtain sensitive information. (CVE-2019-3858)
It was discovered that libssh2 incorrectly handled certain specially crafted packets. A remote attacker could possibly use this issue to cause a denial of service or obtain sensitive information. (CVE-2019-3859)
It was discovered that libssh2 incorrectly handled SFTP packets with empty payloads. A remote attacker could possibly use this issue to cause a denial of service or obtain sensitive information. (CVE-2019-3860)
It was discovered that libssh2 incorrectly handled padding values in SSH packets. A remote attacker could possibly use this issue to cause a denial of service or obtain sensitive information. (CVE-2019-3861)
It was discovered that libssh2 incorrectly handled interactive response messages length. A remote attacker could possibly use this issue to execute arbitrary code. (CVE-2019-3863)
It was discovered that libssh2 incorrectly handled the Diffie Hellman key exchange. A remote attacker could possibly use this issue to cause a denial of service or obtain sensitive information. (CVE-2019-13115)
It was discovered that libssh2 incorrectly handled bound checks in SSH_MSG_DISCONNECT. A remote attacker could possibly use this issue to cause a denial of service or obtain sensitive information. (CVE-2019-17498)
- Record
USN-5308-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libssh2Alpine:v3.10 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.11 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.12 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.13 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.14 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.15 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.16 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.17 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.18 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.19 |
before 1.9.0-r0 | 1.9.0-r0 |
Show 22 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libssh2Alpine:v3.20 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.21 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.22 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.23 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.24 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2Alpine:v3.9 |
before 1.9.0-r0 | 1.9.0-r0 |
libssh2-1TuxCare:Ubuntu:16.04 From an advisory covering 4 CVEs |
before 1.5.0-2ubuntu0.1+tuxcare.els4 | 1.5.0-2ubuntu0.1+tuxcare.els4 |
libssh2-1-devTuxCare:Ubuntu:16.04 From an advisory covering 4 CVEs |
before 1.5.0-2ubuntu0.1+tuxcare.els4 | 1.5.0-2ubuntu0.1+tuxcare.els4 |
libssh2TuxCare:CentOS:6 From an advisory covering 2 CVEs |
before 1.4.2-3.0.1.el6_10.1.tuxcare.els3 | 1.4.2-3.0.1.el6_10.1.tuxcare.els3 |
libssh2-develTuxCare:CentOS:6 From an advisory covering 2 CVEs |
before 1.4.2-3.0.1.el6_10.1.tuxcare.els3 | 1.4.2-3.0.1.el6_10.1.tuxcare.els3 |
libssh2-docsTuxCare:CentOS:6 From an advisory covering 2 CVEs |
before 1.4.2-3.0.1.el6_10.1.tuxcare.els3 | 1.4.2-3.0.1.el6_10.1.tuxcare.els3 |
libssh2Debian:12 |
before 1.9.0-1 | 1.9.0-1 |
libssh2Debian:13 |
before 1.9.0-1 | 1.9.0-1 |
libssh2Debian:14 |
before 1.9.0-1 | 1.9.0-1 |
libssh2Debian:8 From an advisory covering 2 CVEs |
before 1.4.3-4.1+deb8u4, plus listed versions 1.4.3-4.11.4.3-4.1+deb8u11.4.3-4.1+deb8u21.4.3-4.1+deb8u3 |
1.4.3-4.1+deb8u4 |
libssh2Debian:9 From an advisory covering 2 CVEs |
before 1.7.0-1+deb9u2, plus listed versions 1.7.0-11.7.0-1+deb9u1 |
1.7.0-1+deb9u2 |
libssh2Debian:10 From an advisory covering 3 CVEs |
before 1.8.0-2.1+deb10u1, plus listed versions 1.8.0-2.1 |
1.8.0-2.1+deb10u1 |
libssh2Ubuntu:Pro:14.04:LTS |
before 1.4.3-2ubuntu0.2+esm2, plus listed versions 1.4.3-11.4.3-21.4.3-2ubuntu0.11.4.3-2ubuntu0.21.4.3-2ubuntu0.2+esm1 |
1.4.3-2ubuntu0.2+esm2 |
libssh2Ubuntu:Pro:16.04:LTS |
before 1.5.0-2ubuntu0.1+esm1, plus listed versions 1.5.0-21.5.0-2ubuntu0.1 |
1.5.0-2ubuntu0.1+esm1 |
libssh2Ubuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.8.0-11.8.0-1ubuntu0.11.8.0-1ubuntu0.1+esm1 |
None known |
libssh2Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.8.0-2.1build11.8.0-2.1ubuntu0.11.8.0-2.1ubuntu0.1+esm1 |
None known |
libssh2Ubuntu:Pro:16.04:LTS From an advisory covering 11 CVEs |
before 1.5.0-2ubuntu0.1+esm1, plus listed versions 1.5.0-21.5.0-2ubuntu0.1 |
1.5.0-2ubuntu0.1+esm1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | CSSProject/libssh2-Exploit | 2019-10-03 |
| PoC in GitHub | viz27/Libssh2-Exploit | 2019-10-03 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-13115 is a high vulnerability (CVSS 8.1) in Libssh2, published July 16, 2019. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 11.7%, the 96th percentile. Fixed in libssh2 1.9.0-r0.
References
github.com/libssh2/libssh2/pull/350
libssh2.org/changes.html
github.com/libssh2/libssh2/compare/02ecf17...42d37aa
blog.semmle.com/libssh2-integer-overflow
lists.debian.org/debian-lts-announce/2019/07/msg00024.html
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/6LUNHPW64IGCASZ4JQ2J5KDXNZN53DWW
Show 34 moreShow less
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/M7IF3LNHOA75O4WZWIHJLIRMA5LJUED3
security.netapp.com/advisory/ntap-20190806-0002
support.f5.com/csp/article/K13322484
support.f5.com/csp/article/K13322484?utm_source=f5support&%3Butm_medium=RSS
lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4%40%3Cissues.bookkeeper.apache.org%3E
lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b%40%3Cissues.bookkeeper.apache.org%3E
lists.debian.org/debian-lts-announce/2021/12/msg00013.html
packetstormsecurity.com/files/172834/libssh2-1.8.2-Out-Of-Bounds-Read.html
lists.debian.org/debian-lts-announce/2023/09/msg00006.html
nvd.nist.gov/vuln/detail/CVE-2019-13115
lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b@%3Cissues.bookkeeper.apache.org%3E
lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4@%3Cissues.bookkeeper.apache.org%3E
lists.fedoraproject.org/archives/list/[email protected]/message/6LUNHPW64IGCASZ4JQ2J5KDXNZN53DWW
lists.fedoraproject.org/archives/list/[email protected]/message/M7IF3LNHOA75O4WZWIHJLIRMA5LJUED3
support.f5.com/csp/article/K13322484?utm_source=f5support&utm_medium=RSS
github.com/advisories/GHSA-98vm-qgxx-5rjm
security.alpinelinux.org/vuln/CVE-2019-13115
docs.bell-sw.com/security/cves/CVE-2019-13115
errata.tuxcare.com/els_os/ubuntu16.04els/CLSA-2026-1776864708.html
errata.tuxcare.com/els_os/centos6els/CLSA-2026-1778159627.html
security-tracker.debian.org/tracker/CVE-2019-13115
ubuntu.com/security/CVE-2019-13115
ubuntu.com/security/notices/USN-5308-1
cve.org/CVERecord?id=CVE-2019-13115
ubuntu.com/security/CVE-2019-3855
ubuntu.com/security/CVE-2019-3856
ubuntu.com/security/CVE-2019-3857
ubuntu.com/security/CVE-2019-3858
ubuntu.com/security/CVE-2019-3859
ubuntu.com/security/CVE-2019-3860
ubuntu.com/security/CVE-2019-3861
ubuntu.com/security/CVE-2019-3862
ubuntu.com/security/CVE-2019-3863
ubuntu.com/security/CVE-2019-17498