Skip to main content

ArduPilot CVE-2026-38971

CRITICAL
Out-of-bounds Read (CWE-125)
2026-07-02 mitre
9.1
CVSS 3.1 · Vendor: mitre
Share

Severity by source

Vendor (mitre) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
vuln.today AI
9.1 CRITICAL

Unauthenticated crafted MAVLink message (AV:N/AC:L/PR:N/UI:N); OOB read leaks memory back over serial passthrough (C:H) and can crash the autopilot (A:H), no integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

3
Analysis Generated
Jul 06, 2026 - 18:30 vuln.today
CVSS changed
Jul 06, 2026 - 18:22 NVD
9.1 (CRITICAL)
CVE Published
Jul 02, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

ardupilot through Plane-4.6.3 was found to contain an out-of-bounds read issue in libraries/GCS_MAVLink/GCS_serial_control.cpp in GCS_MAVLINK::handle_serial_control().

AnalysisAI

Out-of-bounds read in ArduPilot's MAVLink ground-control-station handler (through Plane-4.6.3) lets a remote attacker on the MAVLink link send a crafted SERIAL_CONTROL message that reads memory beyond intended bounds in GCS_MAVLINK::handle_serial_control(), potentially disclosing adjacent flight-controller memory and/or crashing the autopilot. The CVSS 9.1 rating reflects high confidentiality and availability impact over an unauthenticated network vector, though EPSS is low (0.17%, 6th percentile) and no public exploit is identified at time of analysis. An upstream fix is proposed via GitHub PR #32587 (issue #32524), but no tagged patched release is independently confirmed.

Technical ContextAI

ArduPilot is a widely-used open-source autopilot firmware for UAVs, rovers, and boats; the affected code is libraries/GCS_MAVLink/GCS_serial_control.cpp, which implements handling of the MAVLink SERIAL_CONTROL message used to bridge a ground control station (GCS) to a physical/virtual serial port on the vehicle (e.g., for passthrough to peripherals or bootloaders). The root cause is CWE-125 (Out-of-bounds Read): handle_serial_control() apparently trusts a length/count field or buffer index from the incoming SERIAL_CONTROL payload without validating it against the actual buffer size, causing reads past the buffer boundary. Because SERIAL_CONTROL supports reading data back to the GCS, an over-read can both leak process memory into the returned MAVLink stream and destabilize the flight controller. The CPE data supplied ('cpe:2.3:a:n/a:n/a:*') is a placeholder and provides no usable version enumeration.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - track and apply ArduPilot pull request #32587 (issue #32524) and upgrade to the first tagged release that includes it once published, rather than relying on the pre-4.6.3 line. As compensating controls until a patched firmware build is deployed: do not expose MAVLink telemetry endpoints (UDP/TCP) directly to untrusted networks - bind them to localhost or a trusted management VLAN and place them behind a firewall so only authorized GCS hosts can reach the port (side effect: remote/cloud GCS tooling must be routed through a VPN or bastion); where feasible enable MAVLink 2 signing/authentication so unsigned SERIAL_CONTROL messages from unauthorized senders are rejected (side effect: all legitimate GCS and companion-computer clients must be configured with the shared key); and restrict or disable SERIAL_CONTROL passthrough functionality if it is not operationally required (side effect: loses GCS-driven serial passthrough/peripheral bootloading). See the ArduPilot GitHub issue/PR for authoritative fix details.

More in N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

Share

CVE-2026-38971 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy