Vulnerability Note VU#533140

Tianocore UEFI implementation reclaim function vulnerable to buffer overflow

Original Release date: 05 Jan 2015 | Last revised: 03 Feb 2015

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 (Learn More)

VendorStatusDate NotifiedDate Updated
Insyde Software CorporationAffected12 Sep 201403 Feb 2015
American Megatrends Incorporated (AMI)Not Affected12 Sep 201408 Dec 2014
Apple Inc.Not Affected12 Sep 201416 Dec 2014
Dell Computer Corporation, Inc.Not Affected12 Sep 201421 Jan 2015
IBM CorporationNot Affected12 Sep 201416 Dec 2014
Intel CorporationNot Affected12 Sep 201419 Dec 2014
LenovoNot Affected12 Sep 201421 Jan 2015
Phoenix Technologies Ltd.Not Affected12 Sep 201419 Dec 2014
AsusTek Computer Inc.Unknown12 Sep 201412 Sep 2014
GatewayUnknown12 Sep 201412 Sep 2014
Hewlett-Packard CompanyUnknown12 Sep 201412 Sep 2014
Sony CorporationUnknown12 Sep 201412 Sep 2014
ToshibaUnknown12 Sep 201412 Sep 2014
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base 6.0 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

Credit

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: 28 Dec 2014
  • Date First Published: 05 Jan 2015
  • Date Last Updated: 03 Feb 2015
  • Document Revision: 53

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.