{"id":"CVE-2026-77812","state":"PUBLISHED","title":"Cleartext Exposure of DJI Drone Wi-Fi Credentials via BLE","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.\n\n* An attacker within BLE range recovers the Wi-Fi SSID and PSK in cleartext, and can then join the drone's network \n* 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.\n* The credentials do not change between sessions unless the operator manually resets the Wi-Fi settings, so one capture stays valid indefinitely\n* 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\n* A BLE sniffer and presence during one normal DJI Fly connection are needed\n\nAffected 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.\n\nRemediation requires a firmware update from the vendor. There is no user-side mitigation that fully addresses the vulnerability without upgrading.","publishedAt":"2026-08-21T14:06:55.723Z","updatedAt":"2026-10-12T12:14:20.097Z","severity":{"score":9.4,"label":"Critical","version":"4.0","vector":"CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","source":"CIRCL"},"assigner":"CIRCL","products":["DJI Neo","DJI Neo 2","DJI DJI Flip","DJI Air 3","DJI Air 3S","DJI Avata 2","DJI Avata 360","DJI Mavic 3","DJI Mavic 3 Classic","DJI Mavic 3 Pro","DJI Mavic 4 Pro","DJI Mini 2","DJI Mini 3","DJI Mini 3 Pro","DJI Mini 4 Pro","DJI Mini 5 Pro"],"affected":[{"vendor":"DJI","product":"Neo","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0400","versionType":"semver"}]},{"vendor":"DJI","product":"Neo 2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0500","versionType":"semver"}]},{"vendor":"DJI","product":"DJI Flip","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1200","versionType":"semver"}]},{"vendor":"DJI","product":"Air 3","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1600","versionType":"semver"}]},{"vendor":"DJI","product":"Air 3S","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1400","versionType":"semver"}]},{"vendor":"DJI","product":"Avata 2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0400","versionType":"semver"}]},{"vendor":"DJI","product":"Avata 360","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0300","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 3","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1400","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 3 Classic","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0800","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 3 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.01.0700","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 4 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0500","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.07.0200","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 3","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0500","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 3 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0900","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 4 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1100","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 5 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0600","versionType":"semver"}]}],"references":["https://support.dji.com/help/content?customId=en-us03400011149&amp;spaceId=34&amp;re=US&amp;lang=en","https://github.com/Wh02m1/CVE-2026-77812"],"weaknesses":["CWE-311"],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/77xxx/CVE-2026-77812.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-77812","state":"PUBLISHED","datePublished":"2026-08-21T14:06:55.723Z","dateUpdated":"2026-10-12T12:14:20.097Z","assignerShortName":"CIRCL","assignerOrgId":"5a6e4751-2f3f-4070-9419-94fb35b644e8","dateReserved":"2026-08-21T14:06:52.579Z"},"containers":{"cna":{"title":"Cleartext Exposure of DJI Drone Wi-Fi Credentials via BLE","descriptions":[{"lang":"en","value":"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.\n\n* An attacker within BLE range recovers the Wi-Fi SSID and PSK in cleartext, and can then join the drone's network \n* 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.\n* The credentials do not change between sessions unless the operator manually resets the Wi-Fi settings, so one capture stays valid indefinitely\n* 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\n* A BLE sniffer and presence during one normal DJI Fly connection are needed\n\nAffected 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.\n\nRemediation requires a firmware update from the vendor. There is no user-side mitigation that fully addresses the vulnerability without upgrading."}],"affected":[{"vendor":"DJI","product":"Neo","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0400","versionType":"semver"}]},{"vendor":"DJI","product":"Neo 2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0500","versionType":"semver"}]},{"vendor":"DJI","product":"DJI Flip","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1200","versionType":"semver"}]},{"vendor":"DJI","product":"Air 3","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1600","versionType":"semver"}]},{"vendor":"DJI","product":"Air 3S","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1400","versionType":"semver"}]},{"vendor":"DJI","product":"Avata 2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0400","versionType":"semver"}]},{"vendor":"DJI","product":"Avata 360","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0300","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 3","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1400","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 3 Classic","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0800","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 3 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.01.0700","versionType":"semver"}]},{"vendor":"DJI","product":"Mavic 4 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0500","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 2","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.07.0200","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 3","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0500","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 3 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0900","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 4 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.1100","versionType":"semver"}]},{"vendor":"DJI","product":"Mini 5 Pro","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"01.00.0600","versionType":"semver"}]}],"references":[{"url":"https://support.dji.com/help/content?customId=en-us03400011149&amp;spaceId=34&amp;re=US&amp;lang=en","tags":["technical-description"]},{"url":"https://github.com/Wh02m1/CVE-2026-77812","tags":["technical-description"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"ADJACENT","baseScore":9.4,"baseSeverity":"CRITICAL","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"HIGH","subConfidentialityImpact":"HIGH","subIntegrityImpact":"HIGH","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-311","description":"CWE-311 Missing Encryption of Sensitive Data","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"CIRCL","orgId":"5a6e4751-2f3f-4070-9419-94fb35b644e8","dateUpdated":"2026-10-12T12:14:20.097Z"},"credits":[{"lang":"en","type":"finder","value":"Abdelrahman Yousef"},{"lang":"en","type":"finder","value":"Dr. Jordan Samhi"}],"impacts":[{"capecId":"CAPEC-115","descriptions":[{"lang":"en","value":"CAPEC-115 Authentication Bypass"}]}],"source":{"discovery":"UNKNOWN"},"x_gcve":[{"recordType":"advisory","vulnId":"gcve-1-2026-20157"}],"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-08-21T17:42:02.404909Z","id":"CVE-2026-77812","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-08-21T17:42:36.191Z"}}]}}}