CPATH-2026-0020 · Drone / autonomous systems

QuickTransfer Wi-Fi credential derivation

At a glance

What this record establishes

Affected product
DJIDJI Mavic 3 Wi-Fi Weak Credentials / QuickTransfer Key Derivation (CVE-2023-6951)DJI drones
  • Mavic 3 Pro
  • Mavic 3
  • Mavic 3 Classic
  • Mavic 3 Enterprise
  • Matrice 300
  • Matrice M30
  • Mini 3 Pro
Root cause
DJI QuickTransfer derives its temporary Wi-Fi credentials from observable device information, allowing a nearby party to calculate the access-point password while the mode is active.
Reachable consequence
  • Decrypted live video, navigation, and telemetry reveal the drone’s current surroundings and operational world state.
Remediation
Install the vendor's fixed firmware for the exact aircraft model. On unpatched drones, avoid QuickTransfer and use wired or removable-media transfer so the access point is never exposed.
Evidence status
  • Documented in a public reportNVD reports the condition.
Baseline confidence: High

Vulnerability record

Bug mechanics, affected systems, and remediation

The editorial record appears before the modeled consequence so the Path Score remains traceable to the documented vulnerability.

1. Summary

The Wi-Fi access point that DJI drones expose in QuickTransfer Mode is protected by a WPA2 pre-shared key that the on-device dji_network service generates from a weak scheme: an 8-character hexadecimal string built from four libc random calls, fixed at first boot [1][3]. The resulting keyspace is only a little over four billion combinations, small enough to brute-force offline in roughly two hours on a single GPU [3]. An attacker within Wi-Fi range of a drone whose QuickTransfer Mode is active can capture the WPA2 handshake, recover the PSK, and join the drone’s network without authorization [1][3]. Network access then serves as a foothold to reach media and other unauthenticated drone services [3][6].

2. Affected products & versions

Product Models Affected versions Fixed version
DJI drone firmware Mavic 3 Pro before 01.01.0300 01.01.0300
DJI drone firmware Mavic 3 before 01.00.1200 01.00.1200
DJI drone firmware Mavic 3 Classic before 01.00.0500 01.00.0500
DJI drone firmware Mavic 3 Enterprise before 07.01.10.03 07.01.10.03 (advisory: 7.01.10.03)
DJI drone firmware Matrice 300 before 57.00.01.00 57.00.01.00
DJI drone firmware Matrice M30 before 07.01.0022 07.01.0022
DJI drone firmware Mini 3 Pro before 01.00.0620 01.00.0620

Source: [1][2]. Whether models beyond this list share the same static-PSK primitive is not documented in the reviewed sources.

3. The vulnerability in detail

QuickTransfer Mode is a convenience feature: when a DJI drone is on the ground and not flying, the user can activate it so the aircraft stands up a WPA2-protected Wi-Fi access point that a mobile device connects to for fast download of photos and video [1][3]. That access point is the attack surface. The security of the whole feature rests on the secrecy and unpredictability of one value — the WPA2 pre-shared key protecting the AP — and that is exactly the value that is generated badly [1][3].

The defect lives in the drone’s own operating system, which is Android-based, inside the dji_network service binary at /system/bin/dji_network [3][4]. Within that binary, the function generate_default_passwd is responsible for producing the AP’s password. Rather than drawing from a cryptographically secure random source and producing a high-entropy key, the function calls libc random four times and assembles an 8-character password from the hexadecimal charset [0-9a-f] [3]. Two properties of this design make it fatal. First, the alphabet and length are tiny: eight positions drawn from sixteen possible characters yield only a little more than four billion (16^8 ≈ 4.29 × 10^9) possible passwords — a search space that is trivial by modern cracking standards [3]. Second, the password is generated once, at initial boot, and then remains unchanged for the life of that boot session; it is static, not rotated per connection or per session, so an attacker has a stable target to crack and reuse [3].

This is a textbook instance of two related weakness classes. CWE-334, “Small Space of Random Values,” captures the core problem: the range of values the generator can produce is so small that an attacker can enumerate all of them [1][5]. CWE-1391, “Use of Weak Credentials,” captures the consequence at the protocol level: the credential guarding the Wi-Fi network is weak enough to be recovered rather than genuinely secret [5]. The GitHub advisory records both; NVD records CWE-334 [1][5]. Importantly, the weakness is about the size and stability of the value, not merely its algorithm — even if random produced uniformly distributed output, eight hex characters is simply too little material.

The mechanism to trigger and exploit it is straightforward given the preconditions. WPA2-PSK networks are vulnerable to offline dictionary/brute-force attacks because an attacker who captures the four-way handshake between a client and the AP can test candidate PSKs offline against the captured handshake, with no further interaction with the target. Here, the “dictionary” is the entire keyspace, and the entire keyspace is only four billion entries. The Nozomi researcher demonstrated that cracking took around two hours on a single Nvidia T4 GPU on a cloud instance, with a worst case near four hours [3]. That is the whole cryptographic barrier: a couple of GPU-hours.

The exploitation chain runs as follows [1][3][6]:

  1. The attacker positions within Wi-Fi/RF range of a target DJI drone — an adjacent-network position, not remote internet reach (this is why CVSS scores it AV:A) [1].
  2. The drone is on the ground and QuickTransfer Mode is activated, which requires a user action; this causes the drone to expose its WPA2 access point [1][3].
  3. The attacker captures the WPA2 four-way handshake from the drone’s AP.
  4. The attacker brute-forces the PSK offline against the ~4-billion-combination keyspace produced by generate_default_passwd; roughly two hours on one Nvidia T4 GPU [3].
  5. Using the recovered static PSK, the attacker authenticates to and joins the drone’s Wi-Fi network without permission [1].
  6. With network access, the attacker pivots to sibling services: CVE-2023-6949, an unauthenticated HTTP media-download API for exfiltrating photos and video; CVE-2023-6950, an open/unauthenticated FTP service; and vtwo_sdk services flagged as candidates for potential code execution [3][6].

Preconditions worth emphasizing: the attacker needs RF adjacency (AV:A), the drone must be grounded with QuickTransfer active (which requires user interaction, UI:R), and the target must run a vulnerable firmware version [3]. No prior authentication or privileges are needed (PR:N) [1].

Proof-of-concept status: the Nozomi write-up establishes practical feasibility with a concrete, measured crack time, demonstrating the attack as feasible by the discoverer [3].

4. Discovery & timeline

The vulnerability is credited to Niccolo’ (Nicolo) Facchi of Nozomi Networks Labs [2]. It emerged from a two-part reverse-engineering effort against DJI Mavic 3 firmware: Part 1 established the methodology and attack surface — defeating certificate pinning in the DJI Fly Android app, intercepting firmware-download credentials, and decrypting firmware packages with published keys via dji-firmware-tools — and Part 2 carried out the QuickTransfer vulnerability analysis that surfaced the weak-PSK defect [3][4]. The Nozomi advisory carries an issue/publication date of March 29, 2024, and CVE-2023-6951 was assigned by Nozomi Networks acting as CNA [2]. The finding was part of a coordinated disclosure of nine QuickTransfer-mode vulnerabilities; DJI resolved seven and disputed two as not requiring fixes [6]. A precise date-by-date disclosure timeline (report date, vendor acknowledgment, individual patch-release dates) is not provided in the reviewed sources.

5. Technical reference

  • CVE: CVE-2023-6951 [1].
  • CWE: CWE-334 (Small Space of Random Values) [1][5]; CWE-1391 (Use of Weak Credentials) [5].
  • CVSS v3.1: base score 6.6 (MEDIUM); vector AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N [1][2][7].
  • AV:A (Adjacent) — the attacker must be within Wi-Fi/RF range, not on the open internet.
  • AC:L / PR:N — once in range and the AP is up, no special conditions and no privileges are required.
  • UI:R (Required) — a user must activate QuickTransfer, which is what exposes the AP.
  • S:C (Scope Changed) — the vulnerable component (the Wi-Fi credential service) impacts resources beyond its own security authority (the drone’s other network services).
  • C:H / I:N / A:N — impact is confidentiality-only: recovering the key exposes the network and its data, but the CVSS metric asserts no direct integrity or availability impact.
  • Code reference: generate_default_passwd in /system/bin/dji_network [3]. No specific commit or patch diff is published; the fix is delivered as per-model firmware images [2][3].

6. Consequence & CFSE path analysis

Real-world consequence: an attacker sitting within Wi-Fi range of a grounded drone that has QuickTransfer active can, after a couple of GPU-hours of offline cracking, get onto the drone’s private network. From there the immediate, concrete harm is to confidentiality — the drone’s transferred media and recordings, its service state, and (via the network foothold) its live video, navigation, and telemetry streams become reachable [1][3][6]. For an autonomous aircraft, exposure of the real-time sensor/perception stream is materially more serious than “a Wi-Fi password was weak” suggests, because it reveals what the aircraft is seeing and where it is operating.

This is why the CFSE Path Score diverges from the CVSS baseline. The published CVSS v3.1 score is 6.6 MEDIUM — a number driven down by adjacency (AV:A) and the confidentiality-only impact triad (C:H/I:N/A:N), which flattens what confidentiality is lost. CFSE instead decomposes the entry into two consequence paths and scores by what the compromised data actually means for an autonomous vehicle:

  • PERCEPTION_PRIVACY (dominant path) — CRITICAL. An adjacent-network attacker within Wi-Fi range derives the weak PSK and decrypts/accesses live video, navigation, and telemetry, exposing the aircraft’s real-time perception and operational world state (DP4/CRITICAL). Authority remains bounded to network confidentiality (AT2, PH0) with no control-plane pivot demonstrated.
  • DATA_PRIVACY (supporting path) — HIGH. The derived key gives a foothold on drone network services and access to transferred media/recordings and service state (DP3), distinct from the live perception stream.

Both paths note that the derivation weakness is a shared, fleet-wide primitive (SR4) — the same flawed generate_default_passwd design ships across models — but exploitation is proximity-bound per target (SX2): each victim must be individually approached within RF range, and the AP must be up. Remediation is available by firmware update (OR2 / LS PATCH_AVAILABLE).

Overall path verdict: CRITICAL, direction UNDER relative to the published CVSS v3.1 baseline of 6.6 MEDIUM. The divergence is driven by the perception-privacy consequence for an autonomous vehicle’s sensor stream, which the CVSS confidentiality metric cannot express.

7. Remediation & mitigations

  • Primary fix — firmware upgrade. DJI released firmware updates addressing this and most of the nine QuickTransfer findings. Upgrade each affected model to at least its fixed version: Mavic 3 Pro 01.01.0300; Mavic 3 01.00.1200; Mavic 3 Classic 01.00.0500; Mavic 3 Enterprise 07.01.10.03; Matrice 300 57.00.01.00; Matrice M30 07.01.0022; Mini 3 Pro 01.00.0620 [1][2].
  • Operational mitigation specific to this bug. The AP is only exposed when the drone is grounded and QuickTransfer Mode is activated by the user [1][3]. On unpatched aircraft, avoiding QuickTransfer Mode (transferring media via a wired path or SD card instead) removes the exposed access point and therefore the attack surface entirely.
  • Note on residual exposure. Sibling issue CVE-2023-6950 (open/unauthenticated FTP) was disputed by DJI as not requiring a fix, so operators should not assume every QuickTransfer network service is remediated by the firmware update; the network foothold remains valuable if reachable [6].
  • No additional vendor-documented workaround beyond firmware upgrade is detailed in the advisory [2].

8. Sources

[1] NVD - CVE-2023-6951 - NIST NVD - https://nvd.nist.gov/vuln/detail/CVE-2023-6951 - Authoritative CVE record: weak-credentials description, CVSS 6.6 vector, affected models/firmware, CWE-334. Credibility: primary advisory. [2] CVE-2023-6951 | Nozomi Networks Labs (Vendor Advisory) - Nozomi Networks - https://www.nozominetworks.com/labs/vulnerability-advisories-cve-2023-6951 - Originating researcher advisory: discoverer credit, per-model fix versions, CVSS vector, issue date March 29 2024, firmware-upgrade mitigation. Credibility: researcher-primary. [3] DJI Mavic 3 Drone Research Part 2: Vulnerability Analysis - Nozomi Networks Labs - https://www.nozominetworks.com/blog/dji-mavic-3-drone-research-part-2-vulnerability-analysis - Technical root-cause deep-dive: generate_default_passwd, four random calls, ~4B keyspace, static-after-boot, ~2h crack on one T4 GPU, post-access pivot. Credibility: researcher-primary. [4] DJI Mavic 3 Drone Research Part 1: Firmware Analysis - Nozomi Networks Labs - https://www.nozominetworks.com/blog/dji-mavic-3-drone-research-part-1-firmware-analysis - Firmware reverse-engineering methodology and attack surface (Android OS, cert-pinning bypass, firmware decryption) that led to the finding. Credibility: researcher-primary. [5] CVE-2023-6951 - GitHub Advisory Database (GHSA-f74c-6mfp-rg2q) - GitHub - https://github.com/advisories/GHSA-f74c-6mfp-rg2q - Structured advisory adding dual CWE classification (CWE-334 and CWE-1391), CVSS vector, and fix versions. Credibility: primary advisory. [6] Wi-Fi Flaws in DJI Mavic 3 Allow Attackers to Hack the Drone - CyberInsider - https://cyberinsider.com/wi-fi-flaws-in-dji-mavic-3-allow-attackers-to-hack-the-drone/ - Context of the nine QuickTransfer flaws (seven fixed, two disputed), sibling CVE-2023-6949 and CVE-2023-6950, DJI’s response. Credibility: reputable press. [7] CVE-2023-6951 : Use of Weak Credentials vulnerability - CVEdetails (SecurityScorecard) - https://www.cvedetails.com/cve/CVE-2023-6951/ - Aggregated datasheet restating description, CVSS 6.6 scoring, affected product/firmware list, Nozomi as assigning source. Credibility: reputable press / aggregator cross-check.

Causal model

How the exploit reaches this consequence

2 modeled paths · each transition states what supports it.

Privacy · Dominant path

Perception privacy

Decrypted live video, navigation, and telemetry reveal the drone’s current surroundings and operational world state.

CRITICAL
  1. accessSource-backed

    Proximity or local access

    Adjacent Wi-Fi RF proximity plus operator using QuickTransfer.

    Evidence NVD

  2. boundaryModel inference

    One cross-boundary bridge

    QuickTransfer key derivation crosses from the companion app into the drone Wi-Fi network and decrypted operator-device traffic, without demonstrating control authority.

    Evidence Derived from the cited facts.

  3. capabilityModel inference

    Safety-driving perception or intimate data

    Decrypted live video, navigation, and telemetry reveal the drone’s current surroundings and operational world state.

    Evidence Derived from the cited facts.

  4. consequenceModel inference

    Perception privacy

    Decrypted live video, navigation, and telemetry reveal the drone’s current surroundings and operational world state.

    Evidence Derived from the cited facts.

  5. recoveryOperational assumption

    Patch, reset, or reconfiguration

    Firmware update fixes it, no recall and key rotation across fleet.

    Evidence Required deployment or recovery condition.

Decision trail

How the final band follows

  1. Base bandCRITICAL
  2. No adjustment

    The CRITICAL base band remains final because no separate cap or systemic uplift applies. Decrypted live video, navigation, and telemetry reveal the drone’s current surroundings and operational world state.

  3. Final bandCRITICAL
Inspect every metric judgment

Decision rationale

How this band was reached

Reach and effort
ReachabilityRE 2
Proximity or local access

Adjacent Wi-Fi RF proximity plus operator using QuickTransfer.

Source-backedNVD
Execution complexityEC 4
Straightforward operation

Single-step PSK derivation from predictable inputs once known.

Source-backedNVD
ExposureEX 2
Access position limits exposure

The technique is easier to perform than it is to position against a target, so access is the constraining factor.

Model inference
Consequence
Physical / safetyPH 0
No direct physical effect

Access to the drone’s camera and telemetry exposes people and places without directly changing the aircraft’s physical behavior.

Model inference
Data / perceptionDP 4
Safety-driving perception or intimate data

Decrypted live video, navigation, and telemetry reveal the drone’s current surroundings and operational world state.

Model inference
AuthorityAT 2
Bounded function authority

Bounded unauthorized access to drone network services, no control-plane and administrator authority, no integrity or availability impact.

Model inference
Scale and recovery
ChainabilityCH 2
One cross-boundary bridge

QuickTransfer key derivation crosses from the companion app into the drone Wi-Fi network and decrypted operator-device traffic, without demonstrating control authority.

Model inference
Reuse scaleSR 4
Shared fleet-wide primitive

Weak key derivation is systematic across the affected model and firmware list (shared derivation scheme is portable technique).

Operational assumption
Execution scaleSX 2
Proximity-bound repetition

The attacker must be within Wi-Fi range of each drone during QuickTransfer, so collection cannot be launched remotely across the fleet.

Operational assumption
Recovery burdenOR 2
Patch, reset, or reconfiguration

Firmware update fixes it, no recall and key rotation across fleet.

Operational assumption
Confidence and status
Evidence strengthEV 2
Documented in a public report

NVD reports the condition.

Source-backedNVD
LivenessLS Patch available
A patch is available

A vendor fix is available.

Source-backedNVD
Technical vector
Compact machine notationCPATH:1.0/TT:PERCEPTION_PRIVACY/RE:2/EC:4/EX:2/PH:0/DP:4/AT:2/CH:2/SR:4/SX:2/OR:2/EV:2/LS:PATCH_AVAILABLERead the scoring method →

Privacy · Supporting path

Data privacy

Transferred recordings and exposed service state reveal sensitive personal and proprietary data beyond the live perception stream.

HIGH
  1. accessSource-backed

    Proximity or local access

    Wi-Fi range and operator QuickTransfer in use.

    Evidence NVD

  2. boundaryModel inference

    One cross-boundary bridge

    The derived key crosses the app, drone-network, and radio boundaries to expose traffic and services, but the record does not demonstrate a pivot into flight control.

    Evidence Derived from the cited facts.

  3. capabilityModel inference

    Sensitive device or personal data

    Transferred recordings and exposed service state reveal sensitive personal and proprietary data beyond the live perception stream.

    Evidence Derived from the cited facts.

  4. consequenceModel inference

    Data privacy

    Transferred recordings and exposed service state reveal sensitive personal and proprietary data beyond the live perception stream.

    Evidence Derived from the cited facts.

  5. recoveryOperational assumption

    Patch, reset, or reconfiguration

    Vendor firmware update remedies.

    Evidence Required deployment or recovery condition.

Decision trail

How the final band follows

  1. Base bandHIGH
  2. No adjustment

    The HIGH base band remains final because no separate cap or systemic uplift applies. Transferred recordings and exposed service state reveal sensitive personal and proprietary data beyond the live perception stream.

  3. Final bandHIGH
Inspect every metric judgment

Decision rationale

How this band was reached

Reach and effort
ReachabilityRE 2
Proximity or local access

Wi-Fi range and operator QuickTransfer in use.

Source-backedNVD
Execution complexityEC 4
Straightforward operation

The attacker derives the predictable QuickTransfer key, joins the drone network, and then reads reachable traffic or services.

Source-backedNVD
ExposureEX 2
Access position limits exposure

The technique is easier to perform than it is to position against a target, so access is the constraining factor.

Model inference
Consequence
Physical / safetyPH 0
No direct physical effect

The captured imagery and telemetry create a privacy consequence without independently driving physical actuation.

Model inference
Data / perceptionDP 3
Sensitive device or personal data

Transferred recordings and exposed service state reveal sensitive personal and proprietary data beyond the live perception stream.

Model inference
AuthorityAT 2
Bounded function authority

Bounded network access to drone services, confidentiality-only, no administrator and firmware and command authority.

Model inference
Scale and recovery
ChainabilityCH 2
One cross-boundary bridge

The derived key crosses the app, drone-network, and radio boundaries to expose traffic and services, but the record does not demonstrate a pivot into flight control.

Model inference
Reuse scaleSR 4
Shared fleet-wide primitive

Derivation weakness reusable across affected firmware and models.

Operational assumption
Execution scaleSX 2
Proximity-bound repetition

Proximity-bound per target, not remote fleet mass-exploit.

Operational assumption
Recovery burdenOR 2
Patch, reset, or reconfiguration

Vendor firmware update remedies.

Operational assumption
Confidence and status
Evidence strengthEV 2
Documented in a public report

NVD reports the condition.

Source-backedNVD
LivenessLS Patch available
A patch is available

A vendor fix is available.

Source-backedNVD
Technical vector
Compact machine notationCPATH:1.0/TT:DATA_PRIVACY/RE:2/EC:4/EX:2/PH:0/DP:3/AT:2/CH:2/SR:4/SX:2/OR:2/EV:2/LS:PATCH_AVAILABLERead the scoring method →

Triage implication

Prioritize the privacy transition.

Protect the outward data or sensor boundary, including both exposed raw fields and reconstructed sensitive behavior.

Evidence ledger

Public sources used by this record.

Published baseline

Why this band differs from CVSS

RelationshipPaths model is higher
Baseline confidencehigh
Scored2026-06-03
v3.1 · 6.6 MEDIUMNozomi Networks via NVD
CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N

Related paths

Compare trust boundaries across products.

Cite this entryCFSE Consequence Paths Registry 1.0, CPATH-2026-0020 (“QuickTransfer Wi-Fi credential derivation”), paths.cfse.ai/CPATH-2026-0020 (published 2026-06-03).