{"@ID": "1277", "@Name": "Firmware Not Updateable", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Draft", "Description": "The product does not provide its\n\t\t\tusers with the ability to update or patch its\n\t\t\tfirmware to address any vulnerabilities or\n\t\t\tweaknesses that may be present.", "Extended_Description": "Without the ability to\n\t\t\tpatch or update firmware, consumers will be\n\t\t\tleft vulnerable to exploitation of any known\n\t\t\tvulnerabilities, or any vulnerabilities that\n\t\t\tare discovered in the future. This can expose\n\t\t\tconsumers to permanent risk throughout the\n\t\t\tentire lifetime of the device, which could be\n\t\t\tyears or decades. Some external protective\n\t\t\tmeasures and mitigations might be employed to\n\t\t\taid in preventing or reducing the risk of\n\t\t\tmalicious attack, but the root weakness cannot\n\t\t\tbe corrected.", "Related_Weaknesses": {"Related_Weakness": {"@Nature": "ChildOf", "@CWE_ID": "1329", "@View_ID": "1000", "@Ordinal": "Primary"}}, "Weakness_Ordinalities": {"Weakness_Ordinality": {"Ordinality": "Primary"}}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Operating_System": {"@Class": "Not OS-Specific", "@Prevalence": "Undetermined"}, "Architecture": {"@Class": "Not Architecture-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Not Technology-Specific", "@Prevalence": "Undetermined"}}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Requirements", "Note": "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."}, {"Phase": "Architecture and Design", "Note": "Lack of planning during architecture development and design, or external pressures such as speed to market, could ignore the capability to update."}, {"Phase": "Implementation", "Note": "The weakness can appear through oversight during implementation."}]}, "Common_Consequences": {"Consequence": {"Scope": ["Confidentiality", "Integrity", "Access Control", "Authentication", "Authorization"], "Impact": ["Gain Privileges or Assume Identity", "Bypass Protection Mechanism", "Execute Unauthorized Code or Commands", "DoS: Crash, Exit, or Restart"], "Likelihood": "Medium", "Note": "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": {"Detection_Method": [{"Method": "Manual Analysis", "Description": "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.", "Effectiveness": "High"}, {"Method": "Architecture or Design Review", "Description": "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.", "Effectiveness": "Moderate"}, {"Method": "Manual Dynamic Analysis", "Description": "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.", "Effectiveness": "High"}]}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Requirements", "Description": "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", "Description": "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", "Description": "Implement the necessary functionality to allow the firmware to be updated."}]}, "Demonstrative_Examples": {"Demonstrative_Example": {"@Demonstrative_Example_ID": "DX-145", "Intro_Text": "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.", "Example_Code": [{"@Nature": "Bad", "@Language": "Other", "#text": "The refrigerator has no means of patching and is hacked, becoming a spewer of email spam."}, {"@Nature": "Good", "@Language": "Other", "#text": "The device automatically patches itself and provides considerable more protection against being hacked."}]}}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2020-9054", "Description": "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]", "Link": "https://www.cve.org/CVERecord?id=CVE-2020-9054"}, {"Reference": "[REF-1095]", "Description": "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].", "Link": "https://www.theregister.com/2019/12/11/f_secure_keywe/"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": {"@CAPEC_ID": "682"}}, "References": {"Reference": [{"@External_Reference_ID": "REF-1095"}, {"@External_Reference_ID": "REF-1096"}, {"@External_Reference_ID": "REF-1097"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "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.", "Comments": "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.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": {"@Type": "Terminology", "#text": "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."}}, "Content_History": {"Submission": {"Submission_Name": "Paul A. Wortman", "Submission_Organization": "Wells Fargo", "Submission_Date": "2020-05-13", "Submission_Version": "4.1", "Submission_ReleaseDate": "2020-02-24"}, "Modification": [{"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Common_Consequences, Demonstrative_Examples, Description, Potential_Mitigations"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Description, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-07-20", "Modification_Version": "4.5", "Modification_ReleaseDate": "2021-07-20", "Modification_Comment": "updated Demonstrative_Examples, Maintenance_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Common_Consequences, Description, Detection_Factors, Maintenance_Notes, Modes_of_Introduction, Observed_Examples, References, Relationships, Terminology_Notes, Weakness_Ordinalities"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-04-28", "Modification_Version": "4.7", "Modification_ReleaseDate": "2022-04-28", "Modification_Comment": "updated Detection_Factors, Observed_Examples, Potential_Mitigations, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2022-10-13", "Modification_Version": "4.9", "Modification_ReleaseDate": "2022-10-13", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}], "Contribution": {"@Type": "Content", "Contribution_Name": "Paul A. Wortman", "Contribution_Organization": "Wells Fargo", "Contribution_Date": "2021-10-12", "Contribution_Comment": "provided detection methods and observed examples"}}}
