CWE-1271: Uninitialized Value on Reset for Registers Holding Security Settings
Security-critical logic is not set to a known value on reset.
How it's found
Uninitialized Value on Reset for Registers Holding Security Settings is typically found by tracing untrusted input from where it enters the system to the point where it is used without the check or neutralization this weakness describes, combining manual code review with dynamic testing.
When the device is first brought out of reset, the state of registers will be indeterminate if they have not been initialized by the logic. Before the registers are initialized, there will be a window during which the device is in an insecure state and may be vulnerable to attack.
Vulnerable vs. safe
if (en) lock_jtag <= d;always @(posedge clk) beginendif (~reset) lock_jtag <= 0;else if (en) lock_jtag <= d;always @(posedge clk) beginendConsequences
- Varies by Context
Mitigations
- Implementation: Design checks should be performed to identify any uninitialized flip-flops used for security-critical functions.
- Architecture and Design: All registers holding security-critical information should be set to a specific value on reset.
Where this fits in a TurboPentest engagement
TurboPentest's agentic pentest is powerful and covers a broad range of issues automatically. This particular class is best confirmed in a manual IntegSec engagement, where human pentesters apply deeper methodology and a larger context window than any automated pass.
Frequently asked questions
What is CWE-1271?
Security-critical logic is not set to a known value on reset.
How do you find Uninitialized Value on Reset for Registers Holding Security Settings?
Uninitialized Value on Reset for Registers Holding Security Settings is typically found by tracing untrusted input from where it enters the system to the point where it is used without the check or neutralization this weakness describes, combining manual code review with dynamic testing.
What is the impact of CWE-1271?
Varies by Context
Does TurboPentest test for Uninitialized Value on Reset for Registers Holding Security Settings?
TurboPentest's agentic pentest is powerful and covers a broad range of issues automatically. This particular class is best confirmed in a manual IntegSec engagement, where human pentesters apply deeper methodology and a larger context window than any automated pass.
Related CWEs
Find these issues before an attacker does
TurboPentest runs an agentic AI pentest against your target and reports findings with proof, from $99 per target.
Start a $99 pentest