Umbra Wiki weakness weakness/CWE-1232
Back to wiki

CWE-1232 — Improper Lock Behavior After Power State Transition

provenance: imported · CWE: CWE-1232

CWE-1232: Improper Lock Behavior After Power State Transition

MITRE CWE weakness

Kind Weakness
Abstraction Base
Status Incomplete
Likelihood of exploit

Description

Register lock bit protection disables changes to system configuration once the bit is set. Some of the protected registers or lock bits become programmable after power state transitions (e.g., Entry and wake from low power sleep modes) causing the system configuration to be changeable.

Devices may allow device configuration controls which need to be programmed after device power reset via a trusted firmware or software module (commonly set by BIOS/bootloader) and then locked from any further modification. This action is commonly implemented using a programmable lock bit, which, when set, disables writes to a protected set of registers or address regions. After a power state transition, the lock bit is set to unlocked. Some common weaknesses that can exist in such a protection scheme are that the lock gets cleared, the values of the protected registers get reset, or the lock become programmable.

Common consequences

  • Access Control: Modify Memory

Mitigations

Architecture and Design — Security Lock bit protections should be reviewed for behavior across supported power state transitions. Security lock programming flow and lock properties should be tested in pre-silicon and post-silicon testing including testing across power transitions.

References

  • CWE page: https://cwe.mitre.org/data/definitions/1232.html
  • CWE list: https://cwe.mitre.org/data/index.html