취약점 도입 방식
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.
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.
Implementation : The weakness can appear through oversight during implementation.
적용 가능한 플랫폼
언어
클래스: Not Language-Specific (Undetermined)
운영 체제
클래스: Not OS-Specific (Undetermined)
아키텍처
클래스: Not Architecture-Specific (Undetermined)
기술
클래스: Not Technology-Specific (Undetermined)
일반적인 결과
| 범위 |
영향 |
가능성 |
Confidentiality Integrity Access Control Authentication Authorization | Gain Privileges or Assume Identity, Bypass Protection Mechanism, Execute Unauthorized Code or Commands, DoS: Crash, Exit, or Restart
참고:
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. It may be possible for the attack
to be used against an entire class of devices.
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. | Medium |
관찰된 예시
| 참고 자료 |
설명 |
| Chain: network-attached storage (NAS) device has a critical OS command injection (CWE-78) vulnerability that is actively exploited to place IoT devices into a botnet, but some products are "end-of-support" and cannot be patched (CWE-1277). [REF-1097] |
| 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]. |
잠재적 완화 방법
Phases : Requirements
Specify requirements to include the ability to update the firmware. Include integrity checks and authentication to ensure that untrusted firmware cannot be installed.
Phases : 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.
Phases : Implementation
Implement the necessary functionality to allow the firmware to be updated.
탐지 방법
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.
효과성 : High
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.
효과성 : Moderate
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.
효과성 : High
취약점 매핑 메모
근거 : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
댓글 : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
관련 공격 패턴
| CAPEC ID |
공격 패턴 이름 |
| CAPEC-682 |
Exploitation of Firmware or ROM Code with Unpatchable Vulnerabilities
An adversary may exploit vulnerable code (i.e., firmware or ROM) that is unpatchable. Unpatchable devices exist due to manufacturers intentionally or inadvertently designing devices incapable of updating their software. Additionally, with updatable devices, the manufacturer may decide not to support the device and stop making updates to their software. |
메모
The "firmware" term does not have a single commonly-shared definition, so there may be variations in how this CWE entry is interpreted during mapping.
참고 자료
REF-1095
Bad news: KeyWe Smart Lock is easily bypassed and can't be fixed
Matthew Hughes.
https://www.theregister.com/2019/12/11/f_secure_keywe/ REF-1096
Alarm bells ring, the IoT is listening
Alex Scroxton.
https://www.computerweekly.com/news/252475324/Alarm-bells-ring-the-IoT-is-listening REF-1097
Zyxel Flaw Powers New Mirai IoT Botnet Strain
Brian Krebs.
https://krebsonsecurity.com/2020/03/zxyel-flaw-powers-new-mirai-iot-botnet-strain/
제출
| 이름 |
조직 |
날짜 |
출시일 |
Version |
| Paul A. Wortman |
Wells Fargo |
2020-05-13 +00:00 |
2020-02-24 +00:00 |
4.1 |
수정 사항
| 이름 |
조직 |
날짜 |
댓글 |
| CWE Content Team |
MITRE |
2020-08-20 +00:00 |
updated Common_Consequences, Demonstrative_Examples, Description, Potential_Mitigations |
| CWE Content Team |
MITRE |
2020-12-10 +00:00 |
updated Description, Relationships |
| CWE Content Team |
MITRE |
2021-03-15 +00:00 |
updated Maintenance_Notes |
| CWE Content Team |
MITRE |
2021-07-20 +00:00 |
updated Demonstrative_Examples, Maintenance_Notes |
| CWE Content Team |
MITRE |
2021-10-28 +00:00 |
updated Common_Consequences, Description, Detection_Factors, Maintenance_Notes, Modes_of_Introduction, Observed_Examples, References, Relationships, Terminology_Notes, Weakness_Ordinalities |
| CWE Content Team |
MITRE |
2022-04-28 +00:00 |
updated Detection_Factors, Observed_Examples, Potential_Mitigations, Relationships |
| CWE Content Team |
MITRE |
2022-10-13 +00:00 |
updated Related_Attack_Patterns |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2026-10-28 +00:00 |
updated Common_Consequences, Description |