[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Google Nexus 5X Bootloader Unauthorized Memory Dumping via USB

Vulnerable versions:
Android 6.0.0 MDA89E through 6.0.1 MMB29V (bootloaders bhz10i/k)

Non-vulnerable versions:
Android 6.0.1 MHC19J (bootloader bhz10m) and above.

The attacker reboots the phone into the 'fastboot' mode. A physical
attacker can do this, without authorization, by pressing both the
'power' and 'volume down' buttons during device boot. An attacker with
an authorized ADB access can do this by issuing the 'adb reboot
bootloader' command. The fastboot mode exposes a USB interface, which,
on locked devices, must not allow any security-sensitive operation to
be commanded. However, we discovered that if the attacker issued the
'fastboot oem panic' command via the fastboot USB interface, the
bootloader would be forced to crash:

[38870] fastboot: oem panic
[38870] panic (frame 0xf9b1768):
[38870] r0 0x0f9972c4 r1 0x4e225c22 r2 0x7541206f r3 0x74206874
[38870] r4 0x0f9972e8 r5 0x0f96715c r6 0x0f9972f0 r7 0x0f9670ec
[38870] r8 0x0f92e070 r9 0x00000000 r10 0x00000000 r11 0x00000000
[38870] r12 0x0f92e070 usp 0x0f9650ec ulr 0x00000000 pc 0x0f99c75c
[38870] spsr 0x0f936964
[38870] fiq r13 0x0f989490 r14 0x00000000
[38870] irq r13 0x0f989490 r14 0x0f9004f4
[38870] svc r13 0x0f9b16f0 r14 0x0f92dd0c
[38870] und r13 0x0f989490 r14 0x00000000
[38870] sys r13 0x00000000 r14 0x00000000
[38880] panic (caller 0xf936964): generate test-panic

The problem is that in the vulnerable versions of the bootloader, such
a crash would cause the bootloader to expose a serial-over-USB
connection, which would allow an attacker to obtain a full memory dump
of the device using tools such as QPST Configuration. The resulting
memory dump files would then be available under the attacker’s PC.

More details are available at