Base · Medium

CWE-1282: Assumed-Immutable Data is Stored in Writable Memory

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.

CWE-1282 · Base Level ·1 Mitigations

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

Implementation

All immutable code or data should be programmed into ROM or write-once memory.

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.