Description
Immutable data, such as a first-stage bootloader, device identifiers, and "write-once" configuration settings are stored in writable memory that can be re-programmed or updated in the field.
Security services such as secure boot, authentication of code and data, and device attestation all require assets such as the first stage bootloader, public keys, golden hash digests, etc. which are implicitly trusted. Storing these assets in read-only memory (ROM), fuses, or one-time programmable (OTP) memory provides strong integrity guarantees and provides a root of trust for securing the rest of the system. Security is lost if assets assumed to be immutable can be modified.
Potential Impact
Integrity
Varies by Context
Mitigations & Prevention
All immutable code or data should be programmed into ROM or write-once memory.
Related Weaknesses
Frequently Asked Questions
What is CWE-1282?
CWE-1282 (Assumed-Immutable Data is Stored in Writable Memory) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. Immutable data, such as a first-stage bootloader, device identifiers, and "write-once" configuration settings are stored in writable memory that can be re-programmed or updated in the field.
How can CWE-1282 be exploited?
Attackers can exploit CWE-1282 (Assumed-Immutable Data is Stored in Writable Memory) to varies by context. This weakness is typically introduced during the Implementation phase of software development.
How do I prevent CWE-1282?
Key mitigations include: All immutable code or data should be programmed into ROM or write-once memory.
What is the severity of CWE-1282?
CWE-1282 is classified as a Base-level weakness (Medium abstraction). Its actual severity depends on the specific context and how the weakness manifests in your application.