Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/wh02m1/cve-2026-78306
Sécurité des Systèmes EmbarquésSécurité BluetoothSécurité IoTGénération de PayloadsAnalyse des VulnérabilitésExploitationSécurité Sans FilTests d'IntrusionSécurité Matériel et IoT
GitHubwh02m1/cve-2026-78306

CVE-2026-78306

Proof-of-concept exploitant l'injection de commandes DUML via Bluetooth sur les drones DJI, envoyant des commandes non authentifiées pour lire les identifiants, modifier la configuration Wi-Fi et contrôler les systèmes de l'aéronef.

217113il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

CVE-2026-78306 — Injection de commandes DUML sur drone DJI via Bluetooth POC

CVE-2026-78306

Enregistrement CVE : https://www.cve.org/CVERecord?id=CVE-2026-78306

NVD : https://nvd.nist.gov/vuln/detail/CVE-2026-78306

image

Description

Les drones DJI exposent une interface Bluetooth utilisée pour établir une connexion à l'interface Wi-Fi du drone et échanger les identifiants Wi-Fi

L'interface Bluetooth vérifie l'UUID de confiance de l'appareil pour trois commandes :

  • Obtenir le SSID Wi-Fi
  • Obtenir le mot de passe Wi-Fi
  • Obtenir l'adresse MAC Wi-Fi

Les autres commandes ne nécessitent pas la même vérification d'authentification. Par conséquent, un attaquant distant à portée Bluetooth peut être en mesure d'envoyer des commandes DUML non autorisées au drone.

Selon la commande, un attaquant peut être en mesure de modifier la configuration du drone, notamment en changeant le mot de passe Wi-Fi et en accédant potentiellement au réseau interne du drone ; en activant ou désactivant les interfaces radio ; en redémarrant ou éteignant l'aéronef ; en réinitialisant la configuration, ce qui efface toutes les vidéos et photos capturées par le drone ; et en effectuant d'autres actions.

Remarque : l'exploit fonctionne actuellement en vol lors du pilotage du drone via Wi-Fi, et au sol/lorsque le drone est posé lors du pilotage du drone via radio.

Produits affectés

ProduitVersion affectée
DJI Neo0 – 01.00.0400
DJI Neo 20 – 01.00.0500
DJI Flip0 – 01.00.1200
DJI Air 30 – 01.00.1600
DJI Air 3S0 – 01.00.1400
DJI Avata 20 – 01.00.0400
DJI Avata 3600 – 01.00.0300
DJI Mavic 30 – 01.00.1400
DJI Mavic 3 Classic0 – 01.00.0800
DJI Mavic 3 Pro0 – 01.01.0700
DJI Mavic 4 Pro0 – 01.00.0500
DJI Mini 20 – 01.07.0200
DJI Mini 30 – 01.00.0500
DJI Mini 3 Pro0 – 01.00.0900
DJI Mini 4 Pro0 – 01.00.1100
DJI Mini 5 Pro0 – 01.00.0600

DÉMO

https://github.com/user-attachments/assets/57f51df2-5160-404c-9fd3-2a3a8b700008

Installation

1. Installer le POC

# 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

2. Allumer le drone

3. Exécuter le POC

python3 ble_console.py

4. Après le scan, sélectionnez le SSID du drone

Référence des commandes

Les commandes suivantes sont enregistrées dans commands.json et sont générées directement à partir de celui-ci. Les commandes marquées danger nécessitent une confirmation explicite avant d'être envoyées.

Commandes de lecture

CommandeCe qu'elle fait
GET WiFi SSID [AUTH]Récupère le SSID Wi-Fi configuré. Nécessite un UUID de confiance.
GET WiFi Password [AUTH]Récupère la clé pré-partagée WPA2 du Wi-Fi. Nécessite un UUID de confiance.
GET WiFi MAC address [AUTH]Récupère l'adresse MAC du point d'accès Wi-Fi. Nécessite un UUID de confiance.
GET Country CodeRécupère le code de pays réglementaire à deux lettres.
GET ChannelRécupère le canal Wi-Fi actuellement actif.
GET BandRécupère la sélection de bande 2,4/5 GHz configurée.
GET RSSI [stub]Interroge le gestionnaire RSSI ; cette version renvoie une valeur factice.
GET WiFi/BT statusRécupère l'état des radios Wi-Fi et Bluetooth.
GET VersionRécupère la chaîne de version du firmware.

Commandes de configuration en écriture

CommandeCe qu'elle fait
SET NEW WiFi SSIDModifie le SSID Wi-Fi configuré.
SET NEW WiFi PasswordModifie le mot de passe Wi-Fi configuré.
SET NEW WiFi MAC AddressModifie la configuration du BSSID Wi-Fi à l'exécution.
SET NEW Country CodeModifie le code de pays réglementaire configuré.
SET NEW Country Code ExtGère la configuration étendue du code de pays.
SET NEW ChannelModifie le canal Wi-Fi et provoque le redémarrage du point d'accès.

Ces opérations sont classées comme danger dans le POC et nécessitent donc une confirmation explicite avant d'être envoyées.

Commandes de contrôle radio

CommandeCe qu'elle fait
Start WiFiDémarre l'interface Wi-Fi.
Stop WiFiArrête l'interface Wi-Fi.
Restart WiFi + BluetoothRedémarre les radios Wi-Fi et Bluetooth.
Start BluetoothDémarre la radio Bluetooth.
Stop BluetoothArrête la radio Bluetooth et met fin à la session en cours.
Sysmode power controlContrôle l'état d'alimentation des radios Wi-Fi/Bluetooth.

Commandes de réinitialisation

CommandeCe qu'elle fait
Factory Reset WIFIRestaure la configuration Wi-Fi à son état par défaut.
Factory Restore ParamsRestaure la configuration réseau aux valeurs d'usine.

Le POC marque les deux opérations comme dangereuses car elles modifient la configuration persistante.

Commandes système

CommandeCe qu'elle fait
Start The Drone FTP serverDémarre le service FTP de l'aéronef.
Enable Storage ExportActive l'export du stockage.
Disable Storage ExportDésactive l'export du stockage.
reboot The DroneRedémarre l'aéronef.
poweroff The DroneÉteint l'aéronef (un accès physique est nécessaire pour le rallumer).
powersave mode The DronePlace l'aéronef en mode économie d'énergie.

Commandes DoS de la radiocommande

CommandeCe qu'elle fait
Start Remote Controller DoSPremière étape de la séquence de déni de service de la radiocommande ; place l'aéronef dans l'état requis par l'étape de déconnexion.
Stop Remote Controller DoSAchève la séquence : l'aéronef cesse de desservir la liaison avec la radiocommande, qui perd alors l'aéronef. Exécutez la première étape au préalable.
Remote Controller RecoverTente de ramener l'aéronef à un fonctionnement normal.

Commandes de paramètres

CommandeCe qu'elle fait
Change a parameterModifie un paramètre de configuration du drone à l'aide du hachage 32 bits de son nom.
Reset a parameterRéinitialise un paramètre de configuration à sa valeur par défaut du firmware.

Le POC obtient les noms de paramètres depuis flyc_parameters.txt et propose une sélection interactive des paramètres. Pour ajouter un paramètre connu que vous souhaitez modifier ou réinitialiser, ajoutez son nom à flyc_parameters.txt. Le paramètre sera alors disponible à la sélection au démarrage du POC.

Écran de confirmation

Les commandes classées comme danger nécessitent une confirmation explicite avant transmission.

L'écran de confirmation affiche des informations telles que :

──────────────────────────────────────────────────────────────────────
  !!!  DANGEROUS COMMAND  !!!
──────────────────────────────────────────────────────────────────────
 COMMAND    Factory Reset WIFI
 ROUTE      07/0f → 0x07
 PAYLOAD    (none)
 DOES       resets the Wi-Fi config and regenerates the PSK
 WARNING    Disconnects every device currently on the drone's Wi-Fi.
──────────────────────────────────────────────────────────────────────
 Type YES to send:

Paramètres

Télécharger l’outil