| Added |
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.
|
| Added |
Affected |
|
[{"vendor":"DJI","product":"DJI Neo","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0400","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Neo 2","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0500","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Flip","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.1200","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Air 3","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.1600","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Air 3S","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.1400","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Avata 2","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0400","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Avata 360","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0300","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mavic 3","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.1400","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mavic 3 Classic","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0800","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mavic 3 Pro","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.01.0700","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mavic 4 Pro","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0500","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mini 2","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.07.0200","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mini 3","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0500","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mini 3 Pro","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0900","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mini 4 Pro","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.1100","versionType":"semver","status":"affected"}]},{"vendor":"DJI","product":"DJI Mini 5 Pro","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"01.00.0600","versionType":"semver","status":"affected"}]}]
|