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.
Reliance on Component That is Not Updateable
This vulnerability occurs when a product depends on a component that cannot be updated or patched to fix security flaws or critical bugs.
What is CWE-1329?
Real-world CVEs caused by CWE-1329
-
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]
Parcours de l'attaquant étape par étape
- 1
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.
- 2
A System-on-Chip (SOC) implements a Root-of-Trust (RoT) in ROM to boot secure code. However, at times this ROM code might have security vulnerabilities and need to be patched. Since ROM is immutable, it can be impossible to patch.
- 3
ROM does not have built-in application-programming interfaces (APIs) to patch if the code is vulnerable. Implement mechanisms to patch the vulnerable ROM code.
- 4
The example code is taken from the JTAG module of the buggy OpenPiton SoC of HACK@DAC'21. JTAG is protected with a password checker. Access to JTAG operations will be denied unless the correct password is provided by the user. This user-provided password is first sent to the HMAC module where it is hashed with a secret crypto key. This user password hash (pass_hash) is then compared with the hash of the correct password (exp_hash). If they match, JTAG will then be unlocked.
- 5
However, the SoC's crypto key is hardcoded into the design and cannot be updated [REF-1387]. Therefore, if the key is leaked somehow, there is no way to reprovision the key without having the device replaced.
Vulnerable Other
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.
The refrigerator has no means of patching and is hacked becoming a spewer of email spam. Secure Other
The device automatically patches itself and provides considerable more protection against being hacked. How to prevent CWE-1329
- 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.
- Architecture and Design / Implementation 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 detect CWE-1329
Plexicus détecte automatiquement CWE-1329 et ouvre une PR de correction en moins de 60 secondes.
Codex Remedium analyse chaque commit, identifie cette faiblesse précise et livre une pull request prête à être relue avec le correctif. Pas de tickets. Pas de transferts.
Frequently asked questions
Qu'est-ce que CWE-1329 ?
This vulnerability occurs when a product depends on a component that cannot be updated or patched to fix security flaws or critical bugs.
Quelle est la gravité de CWE-1329 ?
MITRE n'a pas publié de note de probabilité d'exploitation pour cette faiblesse. Traitez-la comme un impact moyen jusqu'à ce que votre modèle de menace prouve le contraire.
Quels langages ou plateformes sont affectés par CWE-1329 ?
MITRE lists the following affected platforms: Not OS-Specific, Not Architecture-Specific, Not Technology-Specific, ICS/OT.
Comment puis-je prévenir CWE-1329 ?
Specify requirements that each component should be updateable, including ROM, firmware, etc. 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.
Comment Plexicus détecte et corrige CWE-1329 ?
Le moteur SAST de Plexicus reconnaît la signature de flux de données de CWE-1329 à chaque commit. Lorsqu'une correspondance est trouvée, notre agent Codex Remedium ouvre une PR de correction avec le code corrigé, les tests et un résumé d'une ligne pour le relecteur.
Où puis-je en savoir plus sur CWE-1329 ?
MITRE publie la définition canonique à https://cwe.mitre.org/data/definitions/1329.html. Vous pouvez également consulter la documentation OWASP et NIST pour des conseils adjacents.
Weaknesses related to CWE-1329
Reliance on Insufficiently Trustworthy Component
This weakness occurs when a system integrates a component that cannot be fully trusted to meet security, reliability, and maintenance…
Use of Unmaintained Third Party Components
This weakness occurs when software depends on third-party libraries, frameworks, or modules that are no longer actively updated or…
Firmware Not Updateable
This vulnerability occurs when a hardware product lacks a mechanism for users to install firmware updates, leaving known security flaws…
Missing Ability to Patch ROM Code
A system or System-on-Chip (SoC) lacks a mechanism to update its initial boot code stored in Read-Only Memory (ROM), permanently exposing…
Further reading
- MITRE — CWE-1329 officiel https://cwe.mitre.org/data/definitions/1329.html
- Report on Improving Cybersecurity in the Health Care Industry https://www.phe.gov/Preparedness/planning/CyberTF/Documents/report2017.pdf
- Zyxel Flaw Powers New Mirai IoT Botnet Strain https://krebsonsecurity.com/2020/03/zxyel-flaw-powers-new-mirai-iot-botnet-strain/
- dmi_jtag.sv line 324 https://github.com/HACK-EVENT/hackatdac21/blob/main/piton/design/chip/tile/ariane/src/riscv-dbg/src/dmi_jtag.sv#L324C9-L324C87
- Fix for dmi_jtag.sv https://github.com/HACK-EVENT/hackatdac21/commit/c94ce5f9487a41c77ede0bbc8daf4da66c39f42a
Arrêtez de payer par développeur.
Commencez à fermer la boucle.
Plexicus est l'ASPM natif IA qui scanne, filtre, corrige, penteste et explique — de façon autonome. Développeurs illimités, dépôts illimités, actions IA à usage équitable. Vrai niveau gratuit, €269/mo annuel quand vous êtes prêt.