Firmware Not Updateable

Draft Base
Structure: Simple
Description

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.

Common Consequences 1
Scope: ConfidentialityIntegrityAccess ControlAuthenticationAuthorization

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

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.

Detection Methods 3
Manual AnalysisHigh
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 ReviewModerate
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 AnalysisHigh
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.
Potential Mitigations 3
Phase: Requirements
Specify requirements to include the ability to update the firmware. Include integrity checks and authentication to ensure that untrusted firmware cannot be installed.
Phase: 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.
Phase: Implementation
Implement the necessary functionality to allow the firmware to be updated.
Demonstrative Examples 1

ID : DX-145

A refrigerator has an Internet interface for the official purpose of alerting the manufacturer when that refrigerator detects a fault. Because the device is attached to the Internet, the refrigerator is a target for hackers who may wish to use the device other potentially more nefarious purposes.

Code Example:

Bad
Other

The refrigerator has no means of patching and is hacked becoming a spewer of email spam.

Code Example:

Good
Other

The device automatically patches itself and provides considerable more protection against being hacked.

Observed Examples 2
CVE-2020-9054Chain: network-attached storage (NAS) device has a critical OS command injection (Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')) vulnerability that is actively exploited to place IoT devices into a botnet, but some products are "end-of-support" and cannot be patched (Firmware Not Updateable). [REF-1097]
[REF-1095]A hardware "smart lock" has weak key generation that allows attackers to steal the key by BLE sniffing, but the device's firmware cannot be upgraded and hence remains vulnerable [REF-1095].
References 3
Bad news: KeyWe Smart Lock is easily bypassed and can't be fixed
Matthew Hughes
11-12-2019
ID: REF-1095
Alarm bells ring, the IoT is listening
Alex Scroxton
ID: REF-1096
Zyxel Flaw Powers New Mirai IoT Botnet Strain
Brian Krebs
20-03-2020
ID: REF-1097
Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Technologies:
Not Technology-Specific : Undetermined
Modes of Introduction
Requirements
Architecture and Design
Implementation
Related Attack Patterns
Notes
TerminologyThe "firmware" term does not have a single commonly-shared definition, so there may be variations in how this CWE entry is interpreted during mapping.