Bug 1841189 (CVE-2020-13396)

Summary: CVE-2020-13396 freerdp: Out-of-bounds read in ntlm_read_ChallengeMessage in winpr/libwinpr/sspi/NTLM/ntlm_message.c.
Product: [Other] Security Response Reporter: Michael Kaplan <mkaplan>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: mads, negativo17, oholy, pahan
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: freerdp 2.1.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-29 22:01:30 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: 1841190, 1841191, 1841935, 1841936    
Bug Blocks: 1841202    

Description Michael Kaplan 2020-05-28 15:40:49 UTC
An issue was discovered in FreeRDP before 2.1.1. An out-of-bounds (OOB) read vulnerability has been detected in ntlm_read_ChallengeMessage in winpr/libwinpr/sspi/NTLM/ntlm_message.c.

Upstream Commits:

https://github.com/FreeRDP/FreeRDP/commit/48361c411e50826cb602c7aab773a8a20e1da6bc
https://github.com/FreeRDP/FreeRDP/commit/8fb6336a4072abcee8ce5bd6ae91104628c7bb69

Comment 1 Michael Kaplan 2020-05-28 15:41:09 UTC
Created freerdp tracking bugs for this issue:

Affects: epel-all [bug 1841190]


Created freerdp1.2 tracking bugs for this issue:

Affects: fedora-all [bug 1841191]

Comment 2 Todd Cullum 2020-05-29 20:36:25 UTC
The patch adds length checking by computing the StartOffset and PayloadOffset with Stream_GetPosition(s) instead of Stream_Pointer(s), then computing the length of the buffer to allocate from those. Also, a NULL check was added prior to copying from stream into buffer. Lastly, The offset and length variables were changed to size_t types. From this info, it looks like that stream pointer could have been pointing to a position which caused an out-of-bounds read of the buffer from within ntlm_read_ChallengeMessage prior to this patch.

Comment 4 errata-xmlrpc 2020-09-29 20:43:52 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 5 Product Security DevOps Team 2020-09-29 22:01:30 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-13396

Comment 6 errata-xmlrpc 2020-11-04 02:38:58 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