The product contains a component that cannot be updated or patched in order to remove vulnerabilities or significant bugs.
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 [REF-1197] 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.
Impact: Gain Privileges or Assume IdentityBypass Protection MechanismExecute Unauthorized Code or CommandsDoS: Crash, Exit, or RestartQuality DegradationReduce Maintainability
If an attacker can identify an exploitable vulnerability in one product that has no means of patching, the attack may be used against all affected versions of that product.
Effectiveness: Moderate
The refrigerator has no means of patching and is hacked becoming a spewer of email spam.
The device automatically patches itself and provides considerable more protection against being hacked.
module dmi_jtag(...)(...); ...
verilog
.key_i(256'h24e6fa2254c2ff632a41b...),** ...
verilogmodule dmi_jtag(... ) (
input logic [255:0] hmac_key_i,**
verilog
...
verilog
if (hmac_patch_en)**
verilog
verilog
verilog
verilog