COMMON WEAKNESS ENUMERATIONDraft

CWE-1310

Missing Ability to Patch ROM Code

Missing an ability to patch ROM code may leave a System or System-on-Chip (SoC) in a vulnerable state.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

Missing an ability to patch ROM code may leave a System or System-on-Chip (SoC) in a vulnerable state.

Extended description

A System or System-on-Chip (SoC) that implements a boot process utilizing security mechanisms such as Root-of-Trust (RoT) typically starts by executing code from a Read-only-Memory (ROM) component. The code in ROM is immutable, hence any security vulnerabilities discovered in the ROM code can never be fixed for the systems that are already in use. A common weakness is that the ROM does not have the ability to patch if security vulnerabilities are uncovered after the system gets shipped. This leaves the system in a vulnerable state where an adversary can compromise the SoC.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

This issue could be introduced during hardware architecture and design and can be identified later during Testing.

Lifecycle phase

Implementation

This issue could be introduced during implementation and can be identified later during Testing.

Lifecycle phase

Integration

This issue could be introduced during integration and can be identified later during Testing.

Lifecycle phase

Manufacturing

This issue could be introduced during manufacturing and can be identified later during Testing.

Risk

What does successful exploitation lead to?

Varies by ContextReduce Maintainability

Affected security scopes: Other

When the system is unable to be patched, it can be left in a vulnerable state.

Defence

How is it prevented and fixed?

Architecture and Design · Implementation

Defence to apply across several lifecycle phases

Detail
Secure patch support to allow ROM code to be patched on the next boot.

Effectiveness: Moderate

Some parts of the hardware initialization or signature verification done to authenticate patches will always be "not patchable."

Architecture and Design · Implementation

Defence to apply across several lifecycle phases

Detail
Support patches that can be programmed in-field or during manufacturing through hardware fuses. This feature can be used for limited patching of devices after shipping, or for the next batch of silicon devices manufactured, without changing the full device ROM.

Effectiveness: Moderate

Patches that use hardware fuses will have limitations in terms of size and the number of patches that can be supported. Note that some parts of the hardware initialization or signature verification done to authenticate patches will always be "not patchable."