The ARM-based hardware debugging feature on Raspberry Pi 3 module B+ and possibly other devices allows non-secure EL1 code to read/write…
mitre·CWE-668·Published 2019-04-04
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.
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.
La funcionalidad de depuración de hardware basada en ARM en el módulo B+ de Raspberry Pi 3 y, posiblemente otros dispositivos, permite que un código EL1 inseguro lea/escriba cualquier memoria/registro EL3 (el nivel de privilegios más alto en ARMv8) mediante un proceso de depuración de interprocesador. Con un procesador de depuración host "A" que opera con código EL1 inseguro y un procesador de depuración objetivo B que opera con cualquier nivel de privilegios, la funcionalidad de depuración permite a "A" detener "B" y asciende "B" a cualquier nivel de privilegios. Como host de depuración, A tiene el control total sobre B aunque B posee a nivel de privilegios más alto que A. Por consiguiente, A puede leer/escribir cualquier memoria/registro EL3 a través de B. Asimismo, con este acceso a la memoria, A puede ejecutar código arbitrario en EL3 también.
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 2.0 | Primary | NVD | 10.0 | 10.0 | 10.0 | AV:N/AC:L/Au:N/C:C/I:C/A:C |
| 3.0 | Primary | NVD | 9.8 | 3.9 | 5.9 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |