This vulnerability occurs when a device changes its power mode or enters a debug state but fails to wipe sensitive data that should become inaccessible after the transition.
Devices cycle through various operational states—like active power, low-power, sleep, hibernate, or debug modes—as part of normal function. Each state has different security boundaries controlling what data is accessible. A security flaw arises when the system moves from a more permissive state (where sensitive data is present) to a more restricted one, but neglects to purge that data first. This leaves confidential information, such as encryption keys or user data, lingering in memory or registers where it shouldn't be reachable. For developers, this means sensitive data can leak across state boundaries if not explicitly cleared before a transition. Think of it as forgetting to shred confidential documents before locking them in a safe—the safe is secure, but the contents inside still pose a risk. To prevent this, you must implement explicit cleanup routines that wipe all sensitive information from temporary storage, caches, and buffers immediately before any power-state or debug-state change is finalized.
Impact: Read MemoryRead Application Data
Sensitive information may be used to unlock additional capabilities of the device and take advantage of hidden functionalities which could be used to compromise device security.
During the transition from A to B, the device does not scrub the memory.
For transition from state A to state B, remove information which should not be available once the transition is complete.