Common Weakness Enumeration

CWE-1271

Weakness Allowed

Uninitialized Value on Reset for Registers Holding Security Settings

Abstraction: Base · Status: Incomplete

Security-critical logic is not set to a known value on reset.

Mapping guidance

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.

Relationships and members
ChildOf: CWE-909 · View CWE-1000
Modes of introduction
Implementation
Notes

Maintenance

This entry is still under development and will continue to see updates and content improvements.

Content history
Submission: Nicole Fern · Cycuity (originally submitted as Tortuga Logic) · 2020-05-15 · CWE 4.1
Modification: CWE Content Team · MITRE · 2020-08-20 · CWE 4.2

updated Common_Consequences, Demonstrative_Examples, Description, Modes_of_Introduction, Name, Potential_Mitigations, Related_Attack_Patterns, Relationships

Modification: CWE Content Team · MITRE · 2021-03-15 · CWE 4.4

updated Name, Type

Modification: CWE Content Team · MITRE · 2021-10-28 · CWE 4.6

updated Weakness_Ordinalities

Modification: CWE Content Team · MITRE · 2022-10-13 · CWE 4.9

updated Demonstrative_Examples

Modification: CWE Content Team · MITRE · 2023-01-31 · CWE 4.10

updated Relationships

Modification: CWE Content Team · MITRE · 2023-04-27 · CWE 4.11

updated Relationships

Modification: CWE Content Team · MITRE · 2023-06-29 · CWE 4.12

updated Mapping_Notes

Modification: CWE Content Team · MITRE · 2026-10-28 · CWE 5.0

updated Common_Consequences, Description

0 vulnerabilities reference this CWE, most recent first.

No vulnerabilities reference this CWE.

Mitigation
Implementation

Design checks should be performed to identify any uninitialized flip-flops used for security-critical functions.

Mitigation
Architecture and Design

All registers holding security-critical information should be set to a specific value on reset.

CAPEC-74: Manipulating State

The adversary modifies state information maintained by the target software or causes a state transition in hardware. If successful, the target will use this tainted state and execute in an unintended manner.

State management is an important function within a software application. User state maintained by the application can include usernames, payment information, browsing history as well as application-specific contents such as items in a shopping cart. Manipulating user state can be employed by an adversary to elevate privilege, conduct fraudulent transactions or otherwise modify the flow of the application to derive certain benefits.

If there is a hardware logic error in a finite state machine, the adversary can use this to put the system in an undefined state which could cause a denial of service or exposure of secure data.