Bug 1844166 (CVE-2020-11086) - CVE-2020-11086 freerdp: out-of-bounds read in ntlm_read_ntlm_v2_client_challenge function
Summary: CVE-2020-11086 freerdp: out-of-bounds read in ntlm_read_ntlm_v2_client_challe...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2020-11086
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1844167 1844168 1844169 1844170 1844535 1844536
Blocks: 1844196
TreeView+ depends on / blocked
 
Reported: 2020-06-04 18:15 UTC by Guilherme de Almeida Suckevicz
Modified: 2021-02-16 19:56 UTC (History)
4 users (show)

Fixed In Version: freerdp 2.1.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-29 22:01:36 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:4031 0 None None None 2020-09-29 20:44:05 UTC
Red Hat Product Errata RHSA-2020:4647 0 None None None 2020-11-04 02:39:05 UTC

Description Guilherme de Almeida Suckevicz 2020-06-04 18:15:21 UTC
In FreeRDP less than or equal to 2.0.0, there is an out-of-bound read in ntlm_read_ntlm_v2_client_challenge that reads up to 28 bytes out-of-bound to an internal structure. This has been fixed in 2.1.0.

Reference:
https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-fg8v-w34r-c974

Upstream commit:
https://github.com/FreeRDP/FreeRDP/commit/c098f21fdaadca57ff649eee1674f6cc321a2ec4

Comment 1 Guilherme de Almeida Suckevicz 2020-06-04 18:15:48 UTC
Created freerdp tracking bugs for this issue:

Affects: epel-6 [bug 1844168]
Affects: fedora-all [bug 1844167]


Created freerdp1.2 tracking bugs for this issue:

Affects: epel-7 [bug 1844170]
Affects: fedora-all [bug 1844169]

Comment 2 Todd Cullum 2020-06-05 01:24:28 UTC
Technical Summary:

In the NTLM challenge/response code which is used in freerdp client and server, there was no remaining length check of the stream before reading NTLM challenge data from it.

ntlm_read_ntlm_v2_client_challenge() and ntlm_read_ntlm_v2_response() from winpr/libwinpr/sspi/NTLM/ntlm_compute.c are both affected in freerdp version 2.0.0-rc4 shipped in Red Hat Enterprise Linux 7 and Red Hat Enterprise Linux 8. freerdp 1.0.2,  shipped with Red Hat Enterprise Linux 6 is not affected by this flaw. The patch uses Stream_GetRemainingLength() to ensure that the stream buffer is not over-read.

Comment 4 Todd Cullum 2020-06-05 01:44:03 UTC
Note - the metadata on the upstream advisory[1] could be confusing because the title refers to ntlm_read_ntlm_v2_response(), while the impact description refers to ntlm_read_ntlm_v2_client_challenge(). The description seems to be associated with the bug in ntlm_read_ntlm_v2_client_challenge(), rather than ntlm_read_ntlm_v2_response(). I did not see a further check implemented in ntlm_read_ntlm_v2_response().

1. https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-fg8v-w34r-c974

Comment 9 Todd Cullum 2020-06-05 16:17:10 UTC
Mitigation:

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Comment 10 errata-xmlrpc 2020-09-29 20:44:03 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

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

Comment 11 Product Security DevOps Team 2020-09-29 22:01:36 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-2020-11086

Comment 12 errata-xmlrpc 2020-11-04 02:39:04 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

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


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