COMMON WEAKNESS ENUMERATIONDraft

CWE-1277

Firmware Not Updateable

The product does not provide its users with the ability to update or patch its firmware to address any vulnerabilities or weaknesses that may be present.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The product does not provide its users with the ability to update or patch its firmware to address any vulnerabilities or weaknesses that may be present.

Extended description

Without the ability to patch or update firmware, consumers will be left vulnerable to exploitation of any known vulnerabilities, or any vulnerabilities that are discovered in the future. This can expose consumers to permanent risk throughout the entire lifetime of the device, which could be years or decades. Some external protective measures and mitigations might be employed to aid in preventing or reducing the risk of malicious attack, but the root weakness cannot be corrected.

Root cause

How and when does the problem arise?

Lifecycle phase

Requirements

Requirements development might not consider the importance of updates over the lifetime of the product, or might not choose the ability due to concerns such as expense or speed to market.

Lifecycle phase

Architecture and Design

Lack of planning during architecture development and design, or external pressures such as speed to market, could ignore the capability to update.

Lifecycle phase

Implementation

The weakness can appear through oversight during implementation.

Risk

What does successful exploitation lead to?

Gain Privileges or Assume IdentityBypass Protection MechanismExecute Unauthorized Code or CommandsDoS: Crash, Exit, or Restart

Affected security scopes: Confidentiality, Integrity, Access Control, Authentication, Authorization

If an attacker can identify an exploitable vulnerability in one device that has no means of patching, the attack may be used against an entire class of devices.

Defence

How is it prevented and fixed?

Requirements

Security requirement

Detail
Specify requirements to include the ability to update the firmware. Include integrity checks and authentication to ensure that untrusted firmware cannot be installed.

Architecture and Design

Architecture and design approach

Detail
Design the device to allow for updating the firmware. Ensure that the design specifies how to distribute the updates and ensure their integrity and authentication.

Implementation

Implementation-phase defence

Detail
Implement the necessary functionality to allow the firmware to be updated.

Verification

How is it detected?

Manual Analysis

High
Create a new installable boot image of the current build with a minor version number change. Use the standard installation method to update the boot image. Verify that the minor version number has changed. Create a fake image. Verify that the boot updater will not install the fake image and generates an "invalid image" error message or equivalent.

Architecture or Design Review

Moderate
Check the consumer or maintainer documentation, the architecture/design documentation, or the original requirements to ensure that the documentation includes details for how to update the firmware.

Manual Dynamic Analysis

High
Determine if there is a lack of a capability to update read-only memory (ROM) structure. This could manifest as a difference between the latest firmware version and the current version within the device.