Bug 1848038 (CVE-2020-11043)
| Summary: | CVE-2020-11043 freerdp: out of bound read in rfx_process_message_tileset | ||
|---|---|---|---|
| Product: | [Other] Security Response | Reporter: | Michael Kaplan <mkaplan> |
| Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
| Status: | CLOSED ERRATA | QA Contact: | |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | unspecified | CC: | mads, mailinglists, negativo17, oholy, pahan |
| Target Milestone: | --- | Keywords: | Security |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | freerdp 2.1.0 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-09-29 22:01:57 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: | 1848039, 1848040, 1850833, 1850834 | ||
| Bug Blocks: | 1848044 | ||
|
Description
Michael Kaplan
2020-06-17 14:47:26 UTC
Created freerdp tracking bugs for this issue: Affects: fedora-all [bug 1848039] Created freerdp1.2 tracking bugs for this issue: Affects: fedora-all [bug 1848040] This flaw affects the freerdp CLIENT. In libfreerdp/codec/rfx.c's rfx_process_message_tileset() routine, blockLen is populated by parsing a UINT32 from the input stream. If an incorrect value is supplied and parsed into blockLen, a subsequent stream length check will pass even if there is not enough bytes left in the stream, which can lead to an out-of-bounds read. The length check looks like: if (Stream_GetRemainingLength(s) < blockLen - 6) . Thus, if blockLen == 6, then the check will pass even if the remaining stream length is 0 since 0 is not less than 0. After this, the routine reads 13 bytes from the stream, which could be out-of-bounds. This results in undefined behavior that could display garbage tile data on the screen or crash the client. The patch uses Stream_SafeSeek() to ensure the out-of-bounds read won't occur. Upstream patch: https://github.com/FreeRDP/FreeRDP/commit/3a06ce058f690b7fc1edad2f352c453376c2ebfe Mitigation: To mitigate this flaw, do not use /rfx, /gfx or /network:auto command line options in the freerdp client. 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 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-11043 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 |