CVE-2023-6948 in Mavic 3 Proinfo

Summary

by MITRE • 04/02/2024

A Buffer Copy without Checking Size of Input issue affecting the v2_sdk_service running on a set of DJI drone devices on the port 10000 could allow an attacker to cause a crash of the service through a crafted payload triggering a missing input size check in the sdk_printf function implemented in the libv2_sdk.so library used by the dji_vtwo_sdk binary implementing the service, compromising it in a term of availability and producing a denial-of-service attack. Affected models are Mavic 3 Pro until v01.01.0300, Mavic 3 until v01.00.1200, Mavic 3 Classic until v01.00.0500, Mavic 3 Enterprise until v07.01.10.03, Matrice 300 until v57.00.01.00, Matrice M30 until v07.01.0022 and Mini 3 Pro until v01.00.0620.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 03/05/2025

The vulnerability described in CVE-2023-6948 represents a critical buffer management flaw within the DJI drone ecosystem that fundamentally undermines system stability and operational integrity. This issue resides within the v2_sdk_service component that operates on port 10000 across multiple DJI drone models including Mavic 3 series, Matrice 300, M30, and Mini 3 Pro devices. The root cause stems from inadequate input validation within the sdk_printf function implementation found in the libv2_sdk.so library, which is directly invoked by the dji_vtwo_sdk binary service. This particular implementation fails to perform proper size checking before copying data into fixed-size buffers, creating an exploitable condition that can be leveraged by malicious actors to disrupt service availability.

The technical exploitation of this vulnerability follows a well-defined pattern that aligns with CWE-121 buffer overflow conditions and represents a classic example of improper input validation in embedded systems. When an attacker crafts a malicious payload and sends it to the vulnerable port 10000, the sdk_printf function processes the input without verifying whether the data length exceeds the allocated buffer boundaries. This omission creates a scenario where the program attempts to copy more data than the buffer can accommodate, leading to memory corruption that ultimately results in service termination. The vulnerability's impact is particularly concerning given that it affects multiple drone models across different product lines, suggesting a systemic flaw in the software architecture rather than an isolated incident. The specific buffer copy without size checking behavior directly maps to ATT&CK technique T1499.004 which involves network disruption through service availability attacks.

The operational implications of this vulnerability extend far beyond simple service disruption, as it fundamentally compromises the availability and reliability of critical drone operations. In military, commercial, or industrial applications where DJI drones are deployed for reconnaissance, surveying, or delivery services, a denial-of-service attack can result in mission failure, data loss, or safety risks. The affected models represent a significant portion of DJI's commercial and professional drone fleet, meaning that organizations relying on these platforms for critical operations face substantial risk exposure. The vulnerability's presence on port 10000 indicates that it likely affects network communication interfaces that drones use for command and control, telemetry data transmission, or firmware updates, making it a potential gateway for more sophisticated attacks. Organizations utilizing these drone platforms must consider that the compromised availability could lead to cascading failures in automated systems that depend on continuous drone operation.

Mitigation strategies for CVE-2023-6948 should prioritize immediate firmware updates from DJI as the primary defense mechanism, given that the vulnerability affects multiple models within the same software ecosystem. Network segmentation and firewall rules should be implemented to restrict access to port 10000, particularly in operational environments where unauthorized access is possible. The implementation of input validation controls within the sdk_printf function represents a fundamental architectural fix that should be applied to prevent similar vulnerabilities in future software releases. Organizations should also consider deploying intrusion detection systems that monitor for unusual traffic patterns on port 10000 that might indicate exploitation attempts. Additionally, regular security assessments of drone communication protocols should be conducted to identify similar buffer management issues that could affect other components of the drone's software stack. The vulnerability serves as a reminder of the critical importance of input validation in embedded systems and the potential for seemingly minor implementation flaws to result in significant operational disruptions across complex networked environments.

Reservation

12/19/2023

Disclosure

04/02/2024

Moderation

accepted

CPE

ready

EPSS

0.00210

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!