Bug 1854847 (CVE-2020-11096) - CVE-2020-11096 freerdp: out-of-bound read in update_read_cache_bitmap_v3_order
Summary: CVE-2020-11096 freerdp: out-of-bound read in update_read_cache_bitmap_v3_order
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2020-11096
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: 1854848 1854849 1855883 1855884
Blocks: 1854906
TreeView+ depends on / blocked
 
Reported: 2020-07-08 11:12 UTC by Dhananjay Arunesh
Modified: 2021-05-18 20:34 UTC (History)
4 users (show)

Fixed In Version: freerdp 2.1.2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-18 20:34:06 UTC
Embargoed:


Attachments (Terms of Use)

Description Dhananjay Arunesh 2020-07-08 11:12:11 UTC
In FreeRDP before version 2.1.2, there is a global OOB read in update_read_cache_bitmap_v3_order. As a workaround, one can disable bitmap cache with -bitmap-cache (default). This is fixed in version 2.1.2.

References:
http://www.freerdp.com/2020/06/22/2_1_2-released
https://github.com/FreeRDP/FreeRDP/commit/b8beb55913471952f92770c90c372139d78c16c0
https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-mjw7-3mq2-996x

Comment 1 Dhananjay Arunesh 2020-07-08 11:13:36 UTC
Created freerdp tracking bugs for this issue:

Affects: epel-all [bug 1854849]
Affects: fedora-all [bug 1854848]

Comment 2 Todd Cullum 2020-07-10 19:39:20 UTC
Technical Summary:

The static buffers CBR2_BPP[], BPP_BMF[], etc... in libfreerdp/core/orders.c, could potentially be accessed out-of-bounds in various functions, including update_read_cache_bitmap_v3_order(). To remedy this, the patch replaces these static arrays with getter functions that prevent out-of-bounds reads and then modifies the callers to use the getters instead of direct accesses to the static buffers. In the case of update_read_cache_bitmap_v3_order(), an incorrect flags value would then be used to set bitsPerPixelId which would in turn be used to index CBR23_BPP, causing an out-of-bounds read of that array.

Comment 3 Todd Cullum 2020-07-10 19:51:16 UTC
Mitigation:

Do not enable the +bitmap-cache option in the freerdp client. Alternatively, the bitmap-cache can be explicitly disabled with the -bitmap-cache commandline option.

Comment 5 errata-xmlrpc 2021-05-18 15:34:11 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:1849 https://access.redhat.com/errata/RHSA-2021:1849

Comment 6 Product Security DevOps Team 2021-05-18 20:34:06 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-11096


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