We just disclosed a previously undocumented vulnerability in older versions of Nexus 5X’s Android images (6.0 MDA89E through 6.0.1 MMB29V or bootloaders BHZ10I/K). The first nonvulnerable version is MHC19J (bootloader BHZ10M), released in March 2016.
The vulnerability allows an attacker to obtain a full memory dump of the device. The vulnerability can be exploited by either physical attackers, or by non-physical ones having ADB (Android Debug Bridge) access to the device. One possible scenario where a non-physical attacker can have ADB access is by first targeting an ADB-authorized developer’s PC and infecting it with malware. Another way is by using malicious chargers targeting ADB-enabled devices. Using such chargers requires the (naïve) victim to authorize the charger once connected.

The attacker reboots the phone into the well-known ‘fastboot’ mode, which can be done without any authentication. A physical attacker can do this by pressing the ‘Volume Down’ button during device boot. An attacker with 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, what we discovered was that if the attacker issued (via the fastboot USB interface) the ‘fastboot oem panic’ command, 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 caused the bootloader to expose a serial-over-USB connection, which allowed fetching a full memory dump of the device, using tools such as QPST Configuration.

More details are available in the X-Force blog.