Bug 1766898 (CVE-2019-17498) - CVE-2019-17498 libssh2: integer overflow in SSH_MSG_DISCONNECT logic in packet.c
Summary: CVE-2019-17498 libssh2: integer overflow in SSH_MSG_DISCONNECT logic in packet.c
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2019-17498
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1766903 1766904 1766905 1767506 1767507 1767508
Blocks: 1766902
TreeView+ depends on / blocked
 
Reported: 2019-10-30 09:03 UTC by Dhananjay Arunesh
Modified: 2024-03-20 10:32 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-29 21:58:46 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:3915 0 None None None 2020-09-29 19:48:13 UTC

Description Dhananjay Arunesh 2019-10-30 09:03:21 UTC
In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted 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

Reference:
https://blog.semmle.com/libssh2-integer-overflow-CVE-2019-17498/ 
https://github.com/kevinbackhouse/SecurityExploits/tree/8cbdbbe6363510f7d9ceec685373da12e6fc752d/libssh2/out_of_bounds_read_disconnect_CVE-2019-17498
https://github.com/libssh2/libssh2/blob/42d37aa63129a1b2644bf6495198923534322d64/src/packet.c#L480 
https://github.com/libssh2/libssh2/pull/402/commits/1c6fa92b77e34d089493fe6d3e2c6c8775858b94

Comment 1 Dhananjay Arunesh 2019-10-30 09:06:08 UTC
Created libssh2 tracking bugs for this issue:

Affects: fedora-all [bug 1766903]


Created mingw-libssh2 tracking bugs for this issue:

Affects: fedora-all [bug 1766904]

Comment 2 Dhananjay Arunesh 2019-10-30 09:06:45 UTC
Created mingw-libssh2 tracking bugs for this issue:

Affects: epel-7 [bug 1766905]

Comment 3 Kamil Dudka 2019-10-30 17:19:40 UTC
upstream commit:

https://github.com/libssh2/libssh2/commit/dedcbd10

Comment 5 Huzaifa S. Sidhpurwala 2019-10-31 15:44:16 UTC
External References:

https://blog.semmle.com/libssh2-integer-overflow-CVE-2019-17498/

Comment 7 Huzaifa S. Sidhpurwala 2019-10-31 15:51:09 UTC
Analysis:

This flaw needs a malicious MITM SSH server. When an application compiled with libssh2 connects to such a MITM SSH server, the server can trigger an integer overflow leading to an OOB read in the SSH_MSG_DISCONNECT logic. This can cause the application compiled with libssh2 to crash. This is strictly a client side crash and the SSH server may not be affected.

Regarding "remote information disclosure" mentioned in https://blog.semmle.com/libssh2-integer-overflow-CVE-2019-17498/ , if the user connects to a malicious MITM server there is already a risk of disclosing password/keys irrespective of the flaw.

Comment 8 Huzaifa S. Sidhpurwala 2019-10-31 15:52:59 UTC
Statement:

This flaw needs a malicious MITM SSH server. When an application compiled with libssh2 connects to such a MITM SSH server, the server can trigger an integer overflow leading to an OOB read in the SSH_MSG_DISCONNECT logic. This can cause the application compiled with libssh2 to crash. This is strictly a client side crash and the SSH server may not be affected.

Also note that when a user connects to a malicious MITM server there is already a  risk of disclosing password/keys irrespective of the flaw.

Comment 9 errata-xmlrpc 2020-09-29 19:48:12 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2020:3915 https://access.redhat.com/errata/RHSA-2020:3915

Comment 10 Product Security DevOps Team 2020-09-29 21:58:46 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2019-17498


Note You need to log in before you can comment on or make changes to this bug.