CVE-2017-5731
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Oct 28, 2019
CISA due date
—
Cloudanix analysis
A problem in the way certain system firmware handles compressed data could let someone who already has access to the machine take over the whole computer.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Firmware
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw is an insufficient bounds check in Tianocompress that permits an authenticated local process to corrupt memory structures and escalate to higher privileges.
Why it matters to the business
Successful local exploitation can give an attacker full control of the affected system, allowing theft of data, installation of persistent malware, or disruption of operations; the issue affects firmware components used across many servers and embedded devices.
How an attack unfolds
An attacker with a local account crafts malicious input that triggers the missing bounds check in Tianocompress, overwrites adjacent memory, and redirects execution to attacker-controlled code, resulting in privilege escalation.
How to fix it
Update Tianocore EDK2 (and any downstream firmware builds) to a version containing the bounds-check fixes published after 7 November 2017; rebuild and re-flash firmware images with the corrected compression library; verify the update through the vendor’s release notes.
How to confirm the fix worked
Confirm the installed EDK2 source or binary contains the post-November 2017 Tianocompress bounds checks; attempt to reproduce the original memory-corruption test cases in a lab environment and verify they no longer succeed.
Typical attack path
- Obtain local authenticated access to a system using the vulnerable Tianocompress implementation
- Prepare and supply a specially crafted compressed data stream to the affected compression routine
- Trigger memory corruption that overwrites control structures or return addresses
- Execute attacker-supplied code with elevated privileges
How to detect it
Review local authentication and process-creation logs for unexpected privilege changes around the time of any firmware-related activity; examine crash or memory-dump artifacts that reference compression routines for signs of corruption.
What your security team should do
- Inventory all systems and firmware images that incorporate Tianocore EDK2 and prioritize patching of internet-facing or high-value hosts
- Apply the corrected EDK2 build containing the November 2017 Tianocompress fixes
- Re-flash updated firmware through the vendor’s secure update mechanism and verify the new version string
- Monitor vendor firmware advisories for any additional downstream packages that embed the vulnerable code
The record
Bounds checking in Tianocompress before November 7, 2017 may allow an authenticated user to potentially enable an escalation of privilege via local access.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Red Hat:enterprise_linux:7::server | OVMF | 0 | 0:20180508-6.gitee3198e672e2.el7 |
| Red Hat:enterprise_linux:7::server | ovmf | 0 | 0:20180508-6.gitee3198e672e2.el7 |
| SUSE:Linux Enterprise Desktop 12 SP4 | ovmf | 0 | 2017+git1510945757.b2662641d5-3.5.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 | ovmf | 0 | 2017+git1510945757.b2662641d5-5.11.1 |
| SUSE:Linux Enterprise Server 12 SP3 | ovmf | 0 | 2017+git1492060560.b6d11d7c46-4.17.1 |
| SUSE:Linux Enterprise Server 12 SP4 | ovmf | 0 | 2017+git1510945757.b2662641d5-3.5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | ovmf | 0 | 2017+git1492060560.b6d11d7c46-4.17.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | ovmf | 0 | 2017+git1510945757.b2662641d5-3.5.1 |
| Ubuntu:20.04:LTS | edk2 | 0 | 0~20190606.20d2e5a1-2ubuntu1 |
| Ubuntu:Pro:16.04:LTS | edk2 | 0 | 0~20160408.ffea0a2c-2ubuntu0.2+esm1 |
| Ubuntu:Pro:18.04:LTS | edk2 | 0 | 0~20180205.c0d9813c-2ubuntu0.3+esm1 |
| openSUSE:Tumbleweed | ovmf | 0 | 202105-3.4 |
Related vulnerabilities
- CVE-2018-12178 Buffer overflow in network stack for EDK II may allow unprivileged user to potentially… Also affects ovmf
- CVE-2019-14562 Integer overflow in DxeImageVerificationHandler() EDK II may allow an authenticated user… Also affects ovmf
- CVE-2024-13176 Issue summary: A timing side-channel which could potentially allow recovering the private… Also affects edk2
- CVE-2024-4741 Issue summary: Calling the OpenSSL API function SSL_free_buffers may cause memory to be… Also affects edk2
- CVE-2024-9143 Issue summary: Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit… Also affects edk2
- CVE-2024-38796 EDK2 contains a vulnerability in the PeCoffLoaderRelocateImage(). Also affects edk2
- CVE-2024-6119 Issue summary: Applications performing certificate name checks (e.g., TLS clients… Also affects edk2
- CVE-2024-5535 Issue summary: Calling the OpenSSL API function SSL_select_next_proto with an empty… Also affects edk2