Bug 1687304 (CVE-2019-3856)

Summary: CVE-2019-3856 libssh2: Integer overflow in keyboard interactive handling resulting in out of bounds write
Product: [Other] Security Response Reporter: Andrej Nemec <anemec>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: bmcclain, dblechte, dfediuck, djuran, eedri, erik-fedora, kdudka, mgoldboi, michal.skrivanek, mike, paul, rjones, rschiron, sbonazzo, security-response-team, sherold, yturgema
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libssh2 1.8.1 Doc Type: If docs needed, set a value
Doc Text:
An integer overflow flaw, which could lead to an out of bounds write, was discovered in libssh2 in the way keyboard prompt requests are parsed. 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.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-10 10:50:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1688163, 1688164, 1688423, 1688424, 1690247, 1690248, 1690408, 1694992, 1696058, 1697684, 1697694, 1714649, 1719427, 1719428, 1724836    
Bug Blocks: 1687317    

Description Andrej Nemec 2019-03-11 08:53:49 UTC
A server could send a value approching unsinged int max number of keyboard
prompt requests which could result in an unchecked interger overflow. The value
would then be used to allocate memory causing a possible memory write out of
bounds error.

Comment 2 Andrej Nemec 2019-03-12 09:15:08 UTC
Acknowledgments:

Name: the libssh2 project
Upstream: Chris Coulson (Canonical Ltd.)

Comment 3 Riccardo Schirone 2019-03-13 10:01:49 UTC
Function userauth_keyboard_interactive() in userauth.c does not properly check the number of prompts sent by the server and it uses the value in a computation that could result in an integer overflow. The result would then be used to allocate memory and can allow writing beyond the limits of the allocated buffer.

Comment 4 Riccardo Schirone 2019-03-13 10:02:44 UTC
The attacker needs to:
- trick the user to connect to a malicious server or
- trick the user to connect to a compromised server or
- intercept and modify the traffic

For these reasons User Interaction (UI) is set to Required(R) and Attack Complexity (AC) is set to High (H).

Comment 8 Riccardo Schirone 2019-03-14 15:05:26 UTC
The flaw can be triggered only on 32bit architectures or when the program is compiled against the 32bit version of the libssh2 library. The unchecked operations involve a size_t operand the number of prompts, stored in a uint32_t variable. On 64bit architectures, where size_t is 8 bytes long, the 4 bytes that represent the number of prompts and that are controlled by the attacker cannot make the multiplication overflow.

Comment 12 Doran Moppert 2019-03-19 04:41:03 UTC
Statement:

This flaw was present in libssh2 packages included in Red Hat Virtualization Hypervisor and Management Appliance, however libssh2 in these hosts is never exposed to malicious clients or servers.

Comment 14 Dhananjay Arunesh 2019-03-19 06:27:15 UTC
External References:

https://www.libssh2.org/CVE-2019-3856.html

Comment 15 Dhananjay Arunesh 2019-03-19 06:47:04 UTC
Created libssh tracking bugs for this issue:

Affects: fedora-all [bug 1690246]


Created mingw-libssh2 tracking bugs for this issue:

Affects: fedora-all [bug 1690247]

Comment 16 Dhananjay Arunesh 2019-03-19 06:48:36 UTC
Created mingw-libssh2 tracking bugs for this issue:

Affects: epel-7 [bug 1690248]

Comment 17 Andrej Nemec 2019-03-19 12:28:35 UTC
Created libssh2 tracking bugs for this issue:

Affects: fedora-all [bug 1690408]

Comment 18 errata-xmlrpc 2019-03-28 15:24:19 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2019:0679 https://access.redhat.com/errata/RHSA-2019:0679

Comment 22 errata-xmlrpc 2019-05-14 18:13:39 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2019:1175 https://access.redhat.com/errata/RHSA-2019:1175

Comment 26 errata-xmlrpc 2019-07-02 11:44:56 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2019:1652 https://access.redhat.com/errata/RHSA-2019:1652

Comment 27 errata-xmlrpc 2019-07-16 13:45:33 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7.5 Extended Update Support

Via RHSA-2019:1791 https://access.redhat.com/errata/RHSA-2019:1791

Comment 28 errata-xmlrpc 2019-07-30 09:08:18 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7.4 Extended Update Support

Via RHSA-2019:1943 https://access.redhat.com/errata/RHSA-2019:1943

Comment 29 errata-xmlrpc 2019-08-07 11:35:27 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7.3 Advanced Update Support
  Red Hat Enterprise Linux 7.3 Update Services for SAP Solutions
  Red Hat Enterprise Linux 7.3 Telco Extended Update Support

Via RHSA-2019:2399 https://access.redhat.com/errata/RHSA-2019:2399