Executive brief
The Rockchip RK3588s system-on-chip is used in embedded devices and IoT products to manage hardware initialization and security. A design flaw in the secure boot process allows an attacker with physical access to modify the bootloader data by intercepting memory reads from external storage (SD card, SPI NOR, NAND, or eMMC). This leads to execution of arbitrary malicious code with the highest system privileges, fully compromising the device.
Technical details
The vulnerability is a time-of-check to time-of-use (TOCTOU) race condition in the RK3588s Secure BootROM firmware (version 350B20210512V100 and potentially others). The bootloader reads the header of the next-stage loader twice: the first read is partial (containing only module hashes) and the second is complete (including the signature). The code verifies the signature against the full header but validates module hashes against the partial data from the first read. An attacker with physical access can use a low-cost SD-card emulator, SPI NOR/NAND/eMMC emulator, or a simple multiplexer circuit with dual memory chips to return different header data on the two reads. This causes the signature verification to pass (using the legitimate header) while the hash validation uses modified data, allowing arbitrary code execution at Exception Level 3 (EL3). The attack vector is physical only; no network or authentication bypass is required.
Affected products
- Rockchip RK3588s SoC BootROM 350B20210512V100 and possibly others
Timeline
- 2024-08-19: disclosed
- 2024: other: CVE-2024-13942 assigned