Weakness · High

CWE-1329: Reliance on Component That is Not Updateable

What it is

The product contains a component that cannot be updated or patched in order to remove vulnerabilities or significant bugs.

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

If the component is discovered to contain a vulnerability or critical bug, but the issue cannot be fixed using an update or patch, then the product's owner will not be able to protect against the issue. The only option might be replacement of the product, which could be too financially or operationally expensive for the product owner. As a result, the inability to patch or update can leave the product open to attacker exploitation or critical operation failures. This weakness can be especially difficult to manage when using ROM, firmware, or similar components that traditionally have had limited or no update capabilities. In industries such as healthcare, "legacy" devices can be operated for decades. As a US task force report notes, "the inability to update or replace equipment has both large and small health care delivery organizations struggle with numerous unsupported legacy systems that cannot easily be replaced (hardware, software, and operating systems) with large numbers of vulnerabilities and few modern countermeasures." While hardware can be prone to this weakness, software systems can also be affected, such as when a third-party driver or library is no longer actively maintained or supported but is still critical for the required functionality.

What an attacker can do

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

How to prevent it

Requirements

  • Specify requirements that each component should be updateable, including ROM, firmware, etc.

Architecture and Design

  • Design the product to allow for updating of its components. Include the external infrastructure that might be necessary to support updates, such as distribution servers.
  • With hardware, 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.

Implementation

  • Implement the necessary functionality to allow each component to be updated.

How to find it

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

CWE-1329 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.