
DJI Drone DUML कमांड इंजेक्शन ब्लूटूथ के माध्यम से — CVE-2026-78306 के लिए प्रूफ ऑफ कॉन्सेप्ट
CVE रिकॉर्ड: https://www.cve.org/CVERecord?id=CVE-2026-78306
NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-78306
DJI ड्रोन एक ब्लूटूथ इंटरफ़ेस प्रदान करते हैं जिसका उपयोग ड्रोन के Wi-Fi इंटरफ़ेस से कनेक्शन स्थापित करने और Wi-Fi क्रेडेंशियल्स का आदान-प्रदान करने के लिए किया जाता है।
ब्लूटूथ इंटरफ़ेस तीन कमांड्स के लिए डिवाइस के विश्वसनीय UUID की जाँच करता है:
शेष कमांड्स के लिए समान प्रमाणीकरण जाँच की आवश्यकता नहीं होती है। परिणामस्वरूप, ब्लूटूथ रेंज के भीतर एक रिमोट हमलावर ड्रोन को अनधिकृत DUML कमांड्स भेजने में सक्षम हो सकता है।
कमांड के आधार पर, एक हमलावर ड्रोन के कॉन्फ़िगरेशन को संशोधित करने में सक्षम हो सकता है, जिसमें Wi-Fi पासवर्ड बदलना और संभावित रूप से ड्रोन के आंतरिक नेटवर्क तक पहुँच प्राप्त करना; रेडियो इंटरफ़ेस को सक्षम या अक्षम करना; विमान को पुनः आरंभ या बंद करना; कॉन्फ़िगरेशन को रीसेट करना, जिससे ड्रोन द्वारा कैप्चर किए गए सभी वीडियो और तस्वीरें मिट जाती हैं; और अन्य क्रियाएँ करना शामिल है।
POC एक कमांड रजिस्ट्री प्रदान करता है जो Python स्रोत कोड को संशोधित किए बिना उपलब्ध कमांड्स का परीक्षण करने की अनुमति देता है। कमांड रजिस्ट्री, जिसमें कमांड, रिसीवर, प्रमाणीकरण आवश्यकताएँ, और प्रत्येक कमांड का विवरण शामिल है, commands.json में परिभाषित है।
| उत्पाद | प्रभावित संस्करण |
|---|---|
| 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
निम्नलिखित कमांड्स commands.json में पंजीकृत हैं। POC कमांड्स को read, configuration, radio-control, reset, system, और parameter संचालनों में विभाजित करता है।
| कमांड | यह क्या करता है |
|---|---|
| GET SSID | कॉन्फ़िगर किए गए Wi-Fi SSID को प्राप्त करता है। |
| GET PSK | Wi-Fi WPA2 प्री-शेयर्ड की को प्राप्त करता है। |
| GET MAC | Wi-Fi AP MAC पते को प्राप्त करता है। |
| GET Country Code | दो-अक्षर वाले नियामक देश कोड को प्राप्त करता है। |
| GET Channel | वर्तमान में सक्रिय Wi-Fi चैनल को प्राप्त करता है। |
| GET Band | कॉन्फ़िगर किए गए 2.4/5 GHz बैंड चयन को प्राप्त करता है। |
| GET RSSI | RSSI हैंडलर को क्वेरी करता है; इस फर्मवेयर बिल्ड में एक स्टब कार्यान्वयन शामिल है। |
| GET WiFi/BT status | Wi-Fi और ब्लूटूथ रेडियो स्थिति को प्राप्त करता है। |
| GET Device Info/Model | डिवाइस और मॉडल जानकारी प्राप्त करता है। |
| GET Version | डेमन संस्करण को प्राप्त करता है। |
| GET Bluetooth Name | ब्लूटूथ डिवाइस नाम को प्राप्त करता है। |
| कमांड | यह क्या करता है |
|---|---|
| SET SSID | कॉन्फ़िगर किए गए Wi-Fi SSID को बदलता है। |
| SET PSK | कॉन्फ़िगर किए गए Wi-Fi पासवर्ड को बदलता है। |
| SET MAC Address | रनटाइम Wi-Fi BSSID कॉन्फ़िगरेशन को बदलता है। |
| SET Country Code | कॉन्फ़िगर किए गए नियामक देश कोड को बदलता है। |
| SET Country Code Ext | विस्तारित देश-कोड कॉन्फ़िगरेशन को संभालता है। |
| SET Channel | Wi-Fi चैनल को बदलता है और AP को पुनः आरंभ करता है। |
इन संचालनों को POC में danger के रूप में वर्गीकृत किया गया है और इसलिए भेजे जाने से पहले स्पष्ट पुष्टि की आवश्यकता होती है।
| कमांड | यह क्या करता है |
|---|---|
| Start WIFI | Wi-Fi इंटरफ़ेस और संबंधित सेवाओं को शुरू करता है। |
| Stop WIFI | Wi-Fi इंटरफ़ेस को बंद करता है। |
| Restart WIFI + BT | Wi-Fi और ब्लूटूथ सबसिस्टम को पुनः आरंभ करता है। |
| Start Bluetooth | ब्लूटूथ सबसिस्टम को शुरू करता है। |
| Stop Bluetooth | ब्लूटूथ सबसिस्टम को बंद करता है और वर्तमान सत्र को समाप्त करता है। |
| Sysmode power control | Wi-Fi/ब्लूटूथ पावर स्थिति को नियंत्रित करता है। |
| कमांड | यह क्या करता है |
|---|---|
| Factory Reset WIFI | Wi-Fi कॉन्फ़िगरेशन को उसकी डिफ़ॉल्ट स्थिति में पुनर्स्थापित करता है। |
| Factory Restore Params | नेटवर्क कॉन्फ़िगरेशन पैरामीटर तालिका को फैक्ट्री डिफ़ॉल्ट में पुनर्स्थापित करता है। |
POC दोनों संचालनों को खतरनाक के रूप में चिह्नित करता है क्योंकि वे स्थायी कॉन्फ़िगरेशन को संशोधित करते हैं।