Weakness · High

CWE-1277: Firmware Not Updateable

What it is

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.

MITRE CWE 4.19.1

Severity (our rating)
High
Likelihood of exploit
Not rated by MITRE
Introduced during
Architecture and Design, Implementation, Requirements
Exploited in the wild
No CVE in CISA's catalog

In more detail

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.

What an attacker can do

  • Gain Privileges or Assume Identity (Confidentiality, Integrity, Access Control, Authentication, Authorization)
  • Bypass Protection Mechanism (Confidentiality, Integrity, Access Control, Authentication, Authorization)
  • Execute Unauthorized Code or Commands (Confidentiality, Integrity, Access Control, Authentication, Authorization)
  • DoS: Crash, Exit, or Restart (Confidentiality, Integrity, Access Control, Authentication, Authorization)

How to prevent it

Requirements

  • 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

  • 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

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

How to find it

  • Manual Analysis. 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. 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. 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.

CWE-1277 on MITRE's CWE site

H2 Security

Found it in your code?

We review where it appears, fix it with your team, and check it was not already used against you.

Talk to our team

T Academy

Stop writing it in the first place

Learn to build software and systems without weaknesses like this one, with practice on real hosts in your browser, every objective checked on the machine.

Start free

Source: MITRE Common Weakness Enumeration, CWE version 4.19.1. CWE is a trademark of The MITRE Corporation.