Every CVE Search/ Get API key

CVE-2019-13115

In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c...

8.1 HighPublic exploitFix available

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

11.7%Down 2.4 points since Apr 14, 2021
90%50%10%1%

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 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H
CVSS 2.0
5.8 MediumAV: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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

Affected packages
PackageAffectedFixed
libssh2
Alpine:v3.10
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.11
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.12
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.13
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.14
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.15
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.16
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.17
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.18
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.19
before 1.9.0-r0
1.9.0-r0
Show 22 moreShow less
Affected packages
PackageAffectedFixed
libssh2
Alpine:v3.20
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.21
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.22
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.23
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.24
before 1.9.0-r0
1.9.0-r0
libssh2
Alpine:v3.9
before 1.9.0-r0
1.9.0-r0
libssh2-1
TuxCare: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-dev
TuxCare: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
TuxCare: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-devel
TuxCare: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-docs
TuxCare: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
Debian:12
before 1.9.0-1
1.9.0-1
libssh2
Debian:13
before 1.9.0-1
1.9.0-1
libssh2
Debian:14
before 1.9.0-1
1.9.0-1
libssh2
Debian: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
libssh2
Debian: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
libssh2
Debian: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
libssh2
Ubuntu: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
libssh2
Ubuntu: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
libssh2
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
1.8.0-11.8.0-1ubuntu0.11.8.0-1ubuntu0.1+esm1
None known
libssh2
Ubuntu: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
libssh2
Ubuntu: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.

Public exploits
SourceLinkDate
PoC in GitHubCSSProject/libssh2-Exploit2019-10-03
PoC in GitHubviz27/Libssh2-Exploit2019-10-03

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE 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

Show 34 moreShow less
MoveEnter Open