Skip to content
CVE PROGRAM SOURCE RECORD9.4 Critical

CVE-2026-77812

Cleartext Exposure of DJI Drone Wi-Fi Credentials via BLE

Description

DJI drones transmit DUML (DJI Universal Markup Language) protocol messages over BLE (Bluetooth Low Energy) without encryption. When a client attempts to connect to the drone over Wi-Fi, or when the drone is switched to QuickTransfer mode, the DJI Fly application exchanges DUML messages with the drone over BLE, including the Wi-Fi credentials. An attacker within BLE range can passively sniff this traffic and recover the credentials in cleartext, including the drone's Wi-Fi PSK, SSID, and trusted identifier UUID. Obtaining these credentials allows the attacker to join the drone's internal Wi-Fi network, interact with network services exposed by the drone, and decrypt Wi-Fi traffic exchanged between the drone and the legitimate user. * An attacker within BLE range recovers the Wi-Fi SSID and PSK in cleartext, and can then join the drone's network * The same capture also exposes the session UUID identifier, which is the only thing the drone uses to tell a trusted client from an unknown one, so the attacker can replay it and skip the physical confirmation of new connected devices. * The credentials do not change between sessions unless the operator manually resets the Wi-Fi settings, so one capture stays valid indefinitely * The attack is fully passive, with nothing transmitted and no connection made, so neither the operator nor the drone has any indication the session was observed * A BLE sniffer and presence during one normal DJI Fly connection are needed Affected models are DJI Neo until 01.00.0400, DJI Neo 2 until 01.00.0500, DJI Flip until 01.00.1200, DJI Air 3 until 01.00.1600, DJI Air 3S until 01.00.1400, DJI Avata 2 until 01.00.0400, DJI Avata 360 until 01.00.0300, DJI Mavic 3 until 01.00.1400, DJI Mavic 3 Classic until 01.00.0800, DJI Mavic 3 Pro until 01.01.0700, DJI Mavic 4 Pro until 01.00.0500, DJI Mini 2 until 01.07.0200, DJI Mini 3 until 01.00.0500, DJI Mini 3 Pro until 01.00.0900, DJI Mini 4 Pro until 01.00.1100, and DJI Mini 5 Pro until 01.00.0600. Remediation requires a firmware update from the vendor. There is no user-side mitigation that fully addresses the vulnerability without upgrading.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

DJI Neo

Default version status: unaffected

  • 0 to ≤ 01.00.0400affected

DJI Neo 2

Default version status: unaffected

  • 0 to ≤ 01.00.0500affected

DJI DJI Flip

Default version status: unaffected

  • 0 to ≤ 01.00.1200affected

DJI Air 3

Default version status: unaffected

  • 0 to ≤ 01.00.1600affected

DJI Air 3S

Default version status: unaffected

  • 0 to ≤ 01.00.1400affected

DJI Avata 2

Default version status: unaffected

  • 0 to ≤ 01.00.0400affected

DJI Avata 360

Default version status: unaffected

  • 0 to ≤ 01.00.0300affected

DJI Mavic 3

Default version status: unaffected

  • 0 to ≤ 01.00.1400affected

DJI Mavic 3 Classic

Default version status: unaffected

  • 0 to ≤ 01.00.0800affected

DJI Mavic 3 Pro

Default version status: unaffected

  • 0 to ≤ 01.01.0700affected

DJI Mavic 4 Pro

Default version status: unaffected

  • 0 to ≤ 01.00.0500affected

DJI Mini 2

Default version status: unaffected

  • 0 to ≤ 01.07.0200affected

DJI Mini 3

Default version status: unaffected

  • 0 to ≤ 01.00.0500affected

DJI Mini 3 Pro

Default version status: unaffected

  • 0 to ≤ 01.00.0900affected

DJI Mini 4 Pro

Default version status: unaffected

  • 0 to ≤ 01.00.1100affected

DJI Mini 5 Pro

Default version status: unaffected

  • 0 to ≤ 01.00.0600affected

References