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
This weakness is not covered by the automated black-box pentest. IntegSec pentesters cover it in a manual engagement.
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?
This weakness is not covered by the automated black-box pentest. IntegSec pentesters cover it in a manual engagement.
Related CWEs
Written and reviewed by
Michel Chamberland - Founder & CEO, IntegSec
CISSP, OSCP, OSCE, CEH, GIAC, CCSK · 20+ years in offensive security
Michel has spent 20+ years on offensive security teams including IBM X-Force Red and Trustwave SpiderLabs, leading penetration tests, red team engagements, and breach response for Fortune 500 customers. He is the founder of IntegSec and the architect of TurboPentest.
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 pentest