CWE-1243
Description
Access to security-sensitive information stored in fuses is not limited during debug.
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.
Consequences
If these locations are not blocked during debug operations, it can allow a user to access this sensitive information.
Mitigations
Disable access to security-sensitive information stored in fuses directly and also reflected from temporary storage locations when in debug mode.