This vulnerability occurs when a system's secure-boot process loads bootloader code into volatile memory (like DRAM or SRAM) but fails to properly lock down that memory region afterward. Without strong access controls, an attacker can modify the boot code in memory, bypassing secure boot and running malicious software.
During a secure boot, the initial read-only memory (ROM) code inside a chip fetches the bootloader from external, non-volatile storage and copies it into internal volatile memory for execution. This code is authenticated as it's loaded. However, if the chip's memory protection unit (MPU) or similar hardware mechanisms don't enforce strict write or execute permissions on this volatile memory region after the transfer, the authenticated code becomes a sitting target. An attacker with physical or software access can then overwrite this now-unprotected boot code in volatile memory. This allows them to subvert the entire secure-boot chain, replacing the trusted bootloader with their own malicious payload before the system's main processor executes it, completely undermining the device's security foundation.
Impact: Modify MemoryExecute Unauthorized Code or CommandsGain Privileges or Assume Identity
The volatile-memory protections or access controls are insufficient.
A good architecture should define appropriate protections or access controls to prevent modification by an adversary or untrusted agent, once the bootloader is authenticated.