The ARM-based hardware debugging feature on Raspberry Pi 3 module B+ and possibly other devices allows non-secure EL1 code to read/write any EL3 (the highest privilege level in ARMv8) memory/register via inter-processor debugging. With a debug host processor A running in non-secure EL1 and a debug target processor B running in any privilege level, the debugging feature allows A to halt B and promote B to any privilege level. As a debug host, A has full control of B even if B owns a higher privilege level than A. Accordingly, A can read/write any EL3 memory/register via B. Also, with this memory access, A can execute arbitrary code in EL3.
|http://www.cs.wayne.edu/fengwei/paper/nailgun-sp19.pdf||Exploit Technical Description Third Party Advisory|
|https://www.computer.org/csdl/proceedings-article/sp/2019/666000b157/17D45WHONhv||Third Party Advisory|
Configuration 1 (hide)