CVE-2026-77812
Cleartext Exposure of DJI Drone Wi-Fi Credentials via BLE
What happened?
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 software and versions
| Software | Version information | Fixed version |
|---|---|---|
| NeoDJI | affected: 0 to ≤ 01.00.0400 | See vendor advisory |
| Neo 2DJI | affected: 0 to ≤ 01.00.0500 | See vendor advisory |
| DJI FlipDJI | affected: 0 to ≤ 01.00.1200 | See vendor advisory |
| Air 3DJI | affected: 0 to ≤ 01.00.1600 | See vendor advisory |
| Air 3SDJI | affected: 0 to ≤ 01.00.1400 | See vendor advisory |
| Avata 2DJI | affected: 0 to ≤ 01.00.0400 | See vendor advisory |
| Avata 360DJI | affected: 0 to ≤ 01.00.0300 | See vendor advisory |
| Mavic 3DJI | affected: 0 to ≤ 01.00.1400 | See vendor advisory |
| Mavic 3 ClassicDJI | affected: 0 to ≤ 01.00.0800 | See vendor advisory |
| Mavic 3 ProDJI | affected: 0 to ≤ 01.01.0700 | See vendor advisory |
| Mavic 4 ProDJI | affected: 0 to ≤ 01.00.0500 | See vendor advisory |
| Mini 2DJI | affected: 0 to ≤ 01.07.0200 | See vendor advisory |
| Mini 3DJI | affected: 0 to ≤ 01.00.0500 | See vendor advisory |
| Mini 3 ProDJI | affected: 0 to ≤ 01.00.0900 | See vendor advisory |
| Mini 4 ProDJI | affected: 0 to ≤ 01.00.1100 | See vendor advisory |
| Mini 5 ProDJI | affected: 0 to ≤ 01.00.0600 | See vendor advisory |
Version information comes from the source record and can include unaffected products and exceptions. Distribution packages may contain backported fixes: an older upstream version alone does not prove a server is affected.
Is it being exploited?
This CVE was not listed in the CISA catalogue at our last retrieval. This does not establish that exploitation is absent.
How to respond
- Confirm the product, installed package version, and any configuration requirements in the vendor advisory.
- Follow the vendor’s remediation or workaround guidance in the references below. Structured fixed-version data is unavailable here; the publisher’s description may include a fix or workaround.
- Restart affected services if required, then verify the running version. Known exploitation may warrant investigation as well as patching.