☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Dji logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 3 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 🐛 CWE-120
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-6948

CVE-2023-6948 Denial of Service in Dji
📅 PUBLISHED: 2024-04-02 10:27 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.06%
👁️
0.06% probability
1.6× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: USA License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 3.0
AV: A Attack Vector Adjacent
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: L Availability Low
3.0
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-6948 is a buffer copy vulnerability (CWE-120) in the v2_sdk_service of multiple DJI drone models. The flaw resides in the sdk_printf function within the libv2_sdk.so library, which is used by the dji_vtwo_sdk binary. An attacker on the same network can send a crafted payload to port 10000, triggering a missing input size check and causing a denial-of-service (DoS) condition by crashing the service. The CVSS score is 3.0 (Low), but the impact on drone availability is significant for operators relying on real-time telemetry and control.

This vulnerability does not affect any package registries (NPM, PyPI, Go, Ruby) and is specific to DJI's embedded firmware.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
  • Base Score: 3.0 (Low)
  • Attack Vector: Adjacent Network (AV:A) – attacker must be on the same Wi-Fi or local network as the drone.
  • Attack Complexity: Low (AC:L) – no special conditions required.
  • Privileges Required: None (PR:N) – no authentication needed.
  • User Interaction: None (UI:N) – no user action required.
  • Scope: Unchanged (S:U) – the vulnerability does not affect other components.
  • Confidentiality Impact: None (C:N) – no data exposure.
  • Integrity Impact: None (I:N) – no data modification.
  • Availability Impact: Low (A:L) – service crash leads to temporary denial of service.

Threat Level: Low. The attack requires network adjacency and only results in a DoS. However, for drone operations, this can be critical if the drone loses telemetry or control during flight.

Deep Dive & Mechanics

The vulnerability is a classic buffer copy without size checking (CWE-120). The sdk_printf function in libv2_sdk.so is used by the dji_vtwo_sdk binary to handle incoming data on port 10000. When a crafted payload is sent, the function copies data into a fixed-size buffer without verifying that the input length does not exceed the buffer capacity. This leads to a stack or heap buffer overflow, corrupting adjacent memory and causing the service to crash.

The v2_sdk_service is responsible for handling SDK commands from ground stations or mobile apps. A crash of this service can disrupt real-time telemetry, video feed, and control commands, effectively grounding the drone until the service is restarted (often requiring a power cycle).

The affected models share a common firmware base, but the exact vulnerable code path may vary slightly. The lack of a patch for all models suggests the vendor may have silently fixed it in later firmware versions without public disclosure.

Vulnerable vs. Patched Code

No patched code is publicly available. The vulnerability is present in the sdk_printf function within libv2_sdk.so. A hypothetical fix would involve adding a size check before copying data into the buffer:

Vulnerable (pseudo-code):

void sdk_printf(char *input) {
    char buffer[256];
    strcpy(buffer, input); // No size check
    // process buffer
}

Patched (pseudo-code):

void sdk_printf(char *input) {
    char buffer[256];
    strncpy(buffer, input, sizeof(buffer) - 1); // Size check
    buffer[sizeof(buffer) - 1] = '\0';
    // process buffer
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A DJI drone from the affected list (e.g., Mavic 3 Pro) with firmware version below the fixed threshold.
  • Network access to the drone's IP on port 10000 (e.g., same Wi-Fi network).
  • A tool to send raw TCP payloads (e.g., netcat, Python, or Metasploit).

Exploitation Steps:

  1. Identify the drone's IP address (e.g., via ARP scan or network discovery).
  2. Craft a payload that exceeds the expected buffer size. For example, send a long string of 'A' characters.
  3. Send the payload to the drone on port 10000 using TCP:
    echo "AAAA...AAAA" | nc -w 2 <drone_ip> 10000
    
  4. The v2_sdk_service will crash, causing a denial of service. The drone may lose telemetry and control until rebooted.

Note: No public exploit code is available, but the vulnerability is trivial to trigger.

Blue Team

Detection:

  • Monitor network traffic to port 10000 for unusually large payloads or malformed packets.
  • Use the YARA and Sigma rules provided in the Detection Engineering section.
  • Enable logging on the drone's service (if possible) to capture crash events.

Mitigation:

  • Restrict network access to port 10000 using firewall rules (e.g., only allow trusted IPs).
  • Update drone firmware to the latest version if available.
  • Segment the drone's network from untrusted devices.

Indicators of Compromise (IOCs)

  • Network: TCP packets to port 10000 with payloads exceeding 256 bytes.
  • Logs: Crash logs from dji_vtwo_sdk or v2_sdk_service indicating a buffer overflow.
  • Behavior: Sudden loss of telemetry or control from the drone without physical intervention.

Detection Engineering

YARA Rule

rule CVE_2023_6948_DJI_Buffer_Overflow {
    meta:
        description = "Detects buffer overflow attempts against DJI v2_sdk_service on port 10000"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-6948"
    strings:
        $s1 = "v2_sdk_service" ascii wide nocase
        $s2 = "sdk_printf" ascii wide nocase
        $s3 = "libv2_sdk.so" ascii wide nocase
    condition:
        any of them
}

Sigma Rule

title: CVE-2023-6948 DJI v2_sdk_service Buffer Overflow Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects network traffic targeting DJI drone port 10000 with oversized payloads
author: Valters IT
date: 2025-04-10
logsource:
    category: network_connection
    product: suricata
detection:
    selection:
        dest_port: 10000
        payload_length: ">256"
    condition: selection
falsepositives:
    - Legitimate large SDK commands (unlikely)
level: medium

Suricata Rule

alert tcp any any -> any 10000 (msg:"CVE-2023-6948 DJI v2_sdk_service Buffer Overflow Attempt"; flow:to_server,established; content:"|41 41 41 41|"; depth:256; threshold:type limit, track by_src, count 1, seconds 60; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update drone firmware to the latest version provided by DJI for your model.
  2. If no update is available, restrict network access to port 10000 using firewall rules (e.g., only allow trusted IPs).
  3. Monitor network traffic for anomalies on port 10000.

Long-Term Recommendations:

  • DJI should release a firmware patch that adds input size validation in the sdk_printf function.
  • Implement network segmentation for drone control networks.
  • Use VPN or encrypted tunnels for drone communication to prevent adjacent network attacks.

Workaround: Disable the v2_sdk_service if not required, or block port 10000 at the network level.


Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

port:10000 dji
dji_vtwo_sdk
v2_sdk_service

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-6948/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.