PX4 PX4-Autopilot Use-After-Free Vulnerability in Mavlink Shell Handling

Vulnerability

A use-after-free vulnerability has been identified in PX4 PX4-Autopilot versions through 1.15.4. The issue arises in the MavlinkReceiver::handle_message_serial_control function within the mavlink_receiver.cpp file. This vulnerability is caused by unsynchronized access to the _mavlink_shell pointer, which is shared between two threads. One thread may close the shell and free the pointer while the other thread is still using it, leading to potential exploitation. This vulnerability requires local access to exploit and is considered to have a high complexity.

Impact

Exploitation of this vulnerability leads to a classic use-after-free condition, where a program continues to use a pointer after the memory it points to has been freed. This can result in memory corruption, crashes, or the execution of arbitrary code.

Remediation

Users are advised to update to the latest version of PX4-Autopilot, where this vulnerability has been patched. The patch is available on the official PX4 GitHub repository.

Added: Aug 15, 2025, 8:19 AM
Updated: Aug 15, 2025, 8:19 AM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
2.5
exploitability
4.2
remediation
7.7
relevance
0.4
threat
6.4
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.