CVE-2026-86096 in Autopilotinfo

Summary

by MITRE • 09/05/2026

PX4 Autopilot through 1.17.0 contains a use-after-free vulnerability in TemperatureCalibration::start() due to a race condition between task spawning and object deletion. Attackers can trigger the calibration process via shell commands to write to freed heap memory, corrupting unrelated objects or allocator metadata and destabilizing heap operations.

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

Analysis

by VulDB Data Team • 09/05/2026

The PX4 Autopilot software, specifically through version 1.17.0, contains a critical use-after-free vulnerability located within the TemperatureCalibration::start() function. This flaw stems from a race condition that occurs during the lifecycle management of objects involved in sensor calibration tasks. The core issue arises when one task or thread initiates the spawning of a new calibration process while another concurrent operation attempts to delete or deallocate the associated object instance. In multi-threaded environments, particularly those found in real-time operating systems used for flight control hardware, proper synchronization is paramount to ensure that resources are not accessed after they have been released back to the system allocator. The absence of adequate locking mechanisms or atomic checks allows a scenario where the pointer to an already freed memory block remains valid within the context of the spawning task, leading to subsequent access attempts on invalid memory addresses.

From a technical perspective, this vulnerability is classified as CWE-416: Use After Free. When the TemperatureCalibration::start() function executes without verifying that the target object has not been concurrently deleted by another thread, it proceeds to interact with heap memory that has already been returned to the operating system's free pool. This interaction does not merely result in a crash or denial of service; rather, it allows for arbitrary write operations to freed heap regions. By carefully crafting shell commands to trigger this calibration process at precise moments during concurrent object deletion cycles, an attacker can manipulate the contents of memory that is still allocated but logically disconnected from its original purpose. This capability enables the corruption of unrelated objects or critical allocator metadata structures such as free lists and size headers within the heap management system.

The operational impact of exploiting this vulnerability extends far beyond simple application instability. Corrupting heap allocator metadata can lead to severe destabilization of memory operations across the entire PX4 firmware environment. An attacker who successfully exploits this race condition may achieve arbitrary code execution by overwriting function pointers, return addresses, or other control data structures located in adjacent heap chunks. Given that PX4 Autopilot controls unmanned aerial vehicles and other autonomous platforms, successful exploitation could result in complete loss of vehicle control, unauthorized surveillance capabilities, or physical damage to the hardware platform. The ability to write to freed memory effectively bypasses many standard memory safety protections, making this a high-severity issue for any deployment relying on PX4 for critical flight operations.

This vulnerability aligns with ATT&CK technique T1059: Command and Scripting Interpreter, as the initial trigger involves executing shell commands to initiate the calibration routine. Furthermore, it relates to T1218: System Binary Proxy Execution if an attacker leverages existing system binaries or scripts to facilitate the exploitation chain. The lack of proper synchronization primitives in the TemperatureCalibration module highlights a broader architectural weakness in how concurrent task management is handled within specific subsystems of the autopilot software. Such race conditions are particularly dangerous because they are non-deterministic and difficult to reproduce consistently, often remaining dormant until triggered by specific timing conditions that an attacker can engineer through repeated attempts or precise environmental manipulation.

Mitigation strategies must focus on both immediate patching and long-term architectural improvements. The primary remediation is the application of vendor-supplied patches in versions later than 1.17.0, which address this race condition by implementing proper mutex locks or atomic reference counting to ensure that objects are not deleted while they are still being accessed by other threads. Developers should enforce strict ownership semantics for object lifecycles, ensuring that only the owning thread is responsible for deletion and that all accessing threads verify object validity before use. Additionally, integrating static analysis tools capable of detecting race conditions and use-after-free patterns into the continuous integration pipeline can help identify similar vulnerabilities in future development cycles. For operators currently running vulnerable versions, restricting shell access to trusted personnel and disabling unnecessary calibration routines when not actively required can reduce the attack surface available for exploitation until a full system update is deployed.

Responsible

VulnCheck

Reservation

09/05/2026

Disclosure

09/05/2026

Moderation

accepted

CPE

ready

EPSS

0.00219

KEV

no

Activities

low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!