search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Tianocore UEFI implementation reclaim function vulnerable to buffer overflow

Vulnerability Note VU#533140

Original Release Date: 2015-01-05 | Last Revised: 2015-02-03

Overview

The reclaim function in the Tianocore open source implementation of UEFI contains a buffer overflow vulnerability.

Description

The open source Tianocore project provides a reference implementation of the Unified Extensible Firmware Interface (UEFI). Some commercial UEFI implementations incorporate portions of the Tianocore source code.

According to Rafal Wojtczuk of Bromium and Corey Kallenberg of The MITRE Corporation, a buffer overflow vulnerability exists in the Reclaim function. Corey Kallenberg describes the vulnerability as follows:

"UEFI utilizes various non-volatile variables to communicate information back and forth between the operating system and the firmware; for instance, boot order, platform language, etc. These non-volatile variables are stored in a file-system like region on the SPI flash chip. This file-system supports many operations such as deleting existing variables, creating new variables, and defragmenting the variable region in order to reclaim unused space. This latter operation is important to ensure that large variables can be created in the event the variable region is resource constrained and fragmented with many unused "free slots."

We have discovered a buffer overflow associated with this 'reclaim' operation."

Please note that this issue is unlikely to be directly exposed to an attacker. In order to exploit this issue, a separate vulnerability must allow prior modification of the SPI flash to enable the attacker to introduce valid variable headers after the end of the variable storage area.

Impact

The consequences and exploitability of this bug will vary based on the particular firmware implementation. A local attacker may be able to perform an arbitrary reflash of the platform firmware and escalate privileges or perform a denial of service attack by rendering the system inoperable.

Solution

The vulnerable code is patched in EDK2 SVN revision 16280. This issue is still present in EDK1 which is no longer supported. Vendor-specific UEFI fimware derived from Tianocore may be affected.

Please see the Vendor Information section below to determine if your system may be affected. We are continuing to communicate with vendors as they investigate these vulnerabilities.

Vendor Information

533140
 

View all 13 vendors View less vendors


CVSS Metrics

Group Score Vector
Base 6 AV:L/AC:H/Au:S/C:C/I:C/A:C
Temporal 5.1 E:U/RL:ND/RC:ND
Environmental 3.8 CDP:ND/TD:M/CR:ND/IR:ND/AR:ND

References

Acknowledgements

Thanks to Rafal Wojtczuk of Bromium and Corey Kallenberg of The MITRE Corporation for reporting this vulnerability.

Other Information

CVE IDs: CVE-2014-8271
Date Public: 2014-12-28
Date First Published: 2015-01-05
Date Last Updated: 2015-02-03 15:12 UTC
Document Revision: 54

Sponsored by CISA.