
Injeção de Comando DUML em Drone DJI via Bluetooth — Prova de Conceito para CVE-2026-78306
Registro CVE: https://www.cve.org/CVERecord?id=CVE-2026-78306
NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-78306
Drones DJI expõem uma interface Bluetooth usada para estabelecer uma conexão com a interface Wi-Fi do drone e trocar credenciais de Wi-Fi.
A interface Bluetooth verifica o UUID confiável do dispositivo para três comandos:
Os comandos restantes não exigem a mesma verificação de autenticação. Como resultado, um atacante remoto dentro do alcance do Bluetooth pode ser capaz de enviar comandos DUML não autorizados ao drone.
Dependendo do comando, um atacante pode ser capaz de modificar a configuração do drone, incluindo alterar a senha do Wi-Fi e potencialmente obter acesso à rede interna do drone; habilitar ou desabilitar interfaces de rádio; reiniciar ou desligar a aeronave; redefinir a configuração, o que apaga todos os vídeos e fotos capturados pelo drone; e realizar outras ações.
O POC fornece um registro de comandos que permite testar os comandos disponíveis sem modificar o código-fonte Python. O registro de comandos, incluindo o comando, o receptor, os requisitos de autenticação e a descrição de cada comando, é definido em commands.json.
| Produto | Versão Afetada |
|---|---|
| DJI Neo | 0 – 01.00.0400 |
| DJI Neo 2 | 0 – 01.00.0500 |
| DJI Flip | 0 – 01.00.1200 |
| DJI Air 3 | 0 – 01.00.1600 |
| DJI Air 3S | 0 – 01.00.1400 |
| DJI Avata 2 | 0 – 01.00.0400 |
| DJI Avata 360 | 0 – 01.00.0300 |
| DJI Mavic 3 | 0 – 01.00.1400 |
| DJI Mavic 3 Classic | 0 – 01.00.0800 |
| DJI Mavic 3 Pro | 0 – 01.01.0700 |
| DJI Mavic 4 Pro | 0 – 01.00.0500 |
| DJI Mini 2 | 0 – 01.07.0200 |
| DJI Mini 3 | 0 – 01.00.0500 |
| DJI Mini 3 Pro | 0 – 01.00.0900 |
| DJI Mini 4 Pro | 0 – 01.00.1100 |
| DJI Mini 5 Pro | 0 – 01.00.0600 |
https://github.com/user-attachments/assets/57f51df2-5160-404c-9fd3-2a3a8b700008
# Clone the repository
git clone https://github.com/Wh02m1/CVE-2026-78306.git
cd CVE-2026-78306-POC
# Create and activate a Python virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python3 ble_console.py
Os seguintes comandos estão registrados em commands.json. O POC separa os comandos em operações de leitura, configuração, controle de rádio, reset, sistema e parâmetros.
| Comando | O que faz |
|---|---|
| GET SSID | Recupera o SSID de Wi-Fi configurado. |
| GET PSK | Recupera a chave pré-compartilhada WPA2 do Wi-Fi. |
| GET MAC | Recupera o endereço MAC do AP Wi-Fi. |
| GET Country Code | Recupera o código de país regulatório de duas letras. |
| GET Channel | Recupera o canal de Wi-Fi atualmente ativo. |
| GET Band | Recupera a seleção de banda 2.4/5 GHz configurada. |
| GET RSSI | Consulta o manipulador de RSSI; esta compilação de firmware contém uma implementação stub. |
| GET WiFi/BT status | Recupera o estado dos rádios Wi-Fi e Bluetooth. |
| GET Device Info/Model | Recupera informações do dispositivo e do modelo. |
| GET Version | Recupera a versão do daemon. |
| GET Bluetooth Name | Recupera o nome do dispositivo Bluetooth. |
| Comando | O que faz |
|---|---|
| SET SSID | Altera o SSID de Wi-Fi configurado. |
| SET PSK | Altera a senha de Wi-Fi configurada. |
| SET MAC Address | Altera a configuração de BSSID do Wi-Fi em tempo de execução. |
| SET Country Code | Altera o código de país regulatório configurado. |
| SET Country Code Ext | Trata a configuração estendida de código de país. |
| SET Channel | Altera o canal de Wi-Fi e faz o AP reiniciar. |
Essas operações são classificadas como danger no POC e, portanto, exigem confirmação explícita antes de serem enviadas.
| Comando | O que faz |
|---|---|
| Start WIFI | Inicia a interface Wi-Fi e os serviços associados. |
| Stop WIFI | Para a interface Wi-Fi. |
| Restart WIFI + BT | Reinicia os subsistemas Wi-Fi e Bluetooth. |
| Start Bluetooth | Inicia o subsistema Bluetooth. |
| Stop Bluetooth | Para o subsistema Bluetooth e encerra a sessão atual. |
| Sysmode power control | Controla o estado de energia do Wi-Fi/Bluetooth. |
| Comando | O que faz |
|---|---|
| Factory Reset WIFI | Restaura a configuração de Wi-Fi ao seu estado padrão. |
| Factory Restore Params | Restaura a tabela de parâmetros de configuração de rede para os padrões de fábrica. |
O POC marca ambas as operações como perigosas porque elas modificam a configuração persistente.