Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-36522 — Proof-of-concept exploit for CVE-2026-36522: unauthenticated NaN injection via MAVLink PARAM_SET in ArduPilot ArduPlane, causing DoS or silent flight-parameter corruption. | Kitploit
Tools/GitHubGitHub/deepwoodssec/cve-2026-36522
Embedded Systems SecurityIoT SecurityVulnerability AnalysisExploitationFuzzingPenetration Testing
GitHubdeepwoodssec/cve-2026-36522

CVE-2026-36522

Proof-of-concept exploit for CVE-2026-36522: unauthenticated NaN injection via MAVLink PARAM_SET in ArduPilot ArduPlane, causing DoS or silent flight-parameter corruption.

View Repository
22 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-36522

Unauthenticated NaN Injection via MAVLink PARAM_SET in ArduPilot ArduPlane

CVECVE-2026-36522
CWECWE-1287 (Improper Validation of Specified Type of Input)
CVSS 3.19.1 Critical — AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
AffectedArduPilot ArduPlane 4.0.1 (confirmed)
ComponentGCS_MAVLINK::handle_param_set() — libraries/GCS_MAVLink/GCS_Param.cpp
VectorRemote, unauthenticated MAVLink
ImpactDenial of service (SITL) / silent flight-parameter corruption (hardware)
ReporterSebastien Arseneault, Deep Woods Security

Summary

handle_param_set() accepts an IEEE 754 floating-point value from an unauthenticated MAVLink PARAM_SET message without validating it for NaN or infinity. The malformed value reaches a floating-point comparison (is_equal<float,float>() in AP_Math.cpp) with no type or value check.

This is not a code-execution vulnerability. The impact is denial of service and integrity corruption.

Impact

  • SITL / builds with FP exceptions enabled: the NaN triggers a floating-point exception (SIGFPE) and the autopilot process aborts — denial of service.
  • Production hardware (STM32/Pixhawk), where FP exceptions are disabled: the malformed value is stored silently into a flight-critical parameter, with no crash and no operator-visible warning. This is the more dangerous case: corrupted flight parameters propagate into control math with no indication to the operator.

The validation gap is in the common parameter handler, so all float-typed parameters are affected.

Proof of Concept

A single unauthenticated PARAM_SET carrying a quiet NaN (0x7FC00000) targeting ARSPD_FBW_MIN:

root@kitploit:~
python3 poc/CVE-2026-36522.py [host:port]    # default tcp:127.0.0.1:5760

See poc/CVE-2026-36522.py.

Evidence

Captured SITL stack trace (stacktrace.txt) showing the external input reaching the unguarded comparison:

root@kitploit:~
#6  is_equal<float, float> (v_1=nan(0x400000), v_2=0) at AP_Math.cpp:35
#7  GCS_MAVLINK::handle_param_set ... at GCS_Param.cpp:299
    packet = {param_value = nan(0x400000), param_id = "ARSPD_FBW_MIN", param_type = 9}

The call chain (update_receive -> packetReceived -> handle_common_message -> handle_param_set) confirms the path is reachable from unauthenticated network input.

Remediation

Validate the incoming value before use:

root@kitploit:~
if (isnan(packet.param_value) || isinf(packet.param_value)) {
    // reject: value out of range
    return;
}

Disclosure Timeline

DateEvent
2026-02-26CVE request submitted to MITRE
2026-02-26Vendor notified (ArduPilot)
2026-06-15CVE-2026-36522 assigned; PoC and stack trace published

Credit

Sebastien Arseneault — Deep Woods Security

Download Tool