---
id: CVE-2026-77812
title: >-
  DJI drones transmit DUML (DJI Universal Markup Language) protocol messages
  over BLE (Bluetooth Low Energy) without encryption
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…
severity: none
cwe:
  - CWE-311
published: '2026-08-21'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T13:17:32.917'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-77812'
references:
  - url: 'https://github.com/Wh02m1/CVE-2026-77812'
    label: 5a6e4751-2f3f-4070-9419-94fb35b644e8
  - url: >-
      https://support.dji.com/help/content?customId=en-us03400011149&amp;spaceId=34&amp;re=US&amp;lang=en
    label: 5a6e4751-2f3f-4070-9419-94fb35b644e8
tags:
  - nvd
  - exploit-available
epss: 0.00088
epssPercentile: 0.00373
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/Wh02m1/CVE-2026-77812'
  checkedAt: '2026-10-12T14:51:08.512Z'
exploitAvailable: true
ingestedAt: '2026-10-12T14:50:34.034Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
