COMMON WEAKNESS ENUMERATIONIncomplete

CWE-1243

Sensitive Non-Volatile Information Not Protected During Debug

Access to security-sensitive information stored in fuses is not limited during debug.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

Access to security-sensitive information stored in fuses is not limited during debug.

Extended description

Several security-sensitive values are programmed into fuses to be used during early-boot flows or later at runtime. Examples of these security-sensitive values include root keys, encryption keys, manufacturing-specific information, chip-manufacturer-specific information, and original-equipment-manufacturer (OEM) data. After the chip is powered on, these values are sensed from fuses and stored in temporary locations such as registers and local memories. These locations are typically access-control protected from untrusted agents capable of accessing them. Even to trusted agents, only read-access is provided.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

Lifecycle phase

Implementation

Risk

What does successful exploitation lead to?

Modify MemoryRead MemoryBypass Protection Mechanism

Affected security scopes: Confidentiality, Access Control

If these locations are not blocked during debug operations, it can allow a user to access this sensitive information.

Defence

How is it prevented and fixed?

Architecture and Design · Implementation

Defence to apply across several lifecycle phases

Detail
Disable access to security-sensitive information stored in fuses directly and also reflected from temporary storage locations when in debug mode.