Cleartext Exposure of DJI Drone Wi-Fi Credentials via BLE
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- DJI Neo
through 01.00.0400
- DJI Neo 2
through 01.00.0500
- DJI DJI Flip
through 01.00.1200
- DJI Air 3
through 01.00.1600
- DJI Air 3S
through 01.00.1400
- DJI Avata 2
through 01.00.0400
- DJI Avata 360
through 01.00.0300
- DJI Mavic 3
through 01.00.1400
- DJI Mavic 3 Classic
through 01.00.0800
- DJI Mavic 3 Pro
through 01.01.0700
- DJI Mavic 4 Pro
through 01.00.0500
- DJI Mini 2
through 01.07.0200
- DJI Mini 3
through 01.00.0500
- DJI Mini 3 Pro
through 01.00.0900
- DJI Mini 4 Pro
through 01.00.1100
- DJI Mini 5 Pro
through 01.00.0600