
CVE-2026-36522: unauthenticated NaN injection via MAVLink PARAM_SET in ArduPilot ArduPlane (CWE-1287, DoS/integrity)
अप्रमाणित NaN इंजेक्शन MAVLink PARAM_SET द्वारा ArduPilot ArduPlane में
| CVE | CVE-2026-36522 |
| CWE | CWE-1287 (निर्दिष्ट प्रकार के इनपुट का अनुचित सत्यापन) |
| CVSS 3.1 | 9.1 गंभीर — AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H |
| प्रभावित | ArduPilot ArduPlane 4.0.1 (पुष्टि) |
| घटक | GCS_MAVLINK::handle_param_set() — libraries/GCS_MAVLink/GCS_Param.cpp |
| वेक्टर | दूरस्थ, अप्रमाणित MAVLink |
| प्रभाव | सेवा से वंचित (SITL) / मौन उड़ान-पैरामीटर भ्रष्टाचार (हार्डवेयर) |
| रिपोर्टर | Sebastien Arseneault, Deep Woods Security |
handle_param_set() एक अप्रमाणित MAVLink PARAM_SET संदेश से एक IEEE 754 फ़्लोटिंग-पॉइंट मान स्वीकार करता है बिना NaN या अनंत के लिए मान्य किए। गलत मान बिना किसी प्रकार या मान जांच के एक फ़्लोटिंग-पॉइंट तुलना (is_equal<float,float>() में AP_Math.cpp) तक पहुँचता है।
यह नहीं है कोड-निष्पादन भेद्यता। प्रभाव सेवा से वंचित और अखंडता भ्रष्टाचार है।
सत्यापन अंतराल सामान्य पैरामीटर हैंडलर में है, इसलिए सभी फ्लोट-टाइप पैरामीटर प्रभावित होते हैं।
एक एकल अप्रमाणित PARAM_SET एक शांत NaN (0x7FC00000) ले जाने वाला ARSPD_FBW_MIN को लक्षित करता है:
python3 poc/CVE-2026-36522.py [host:port] # default tcp:127.0.0.1:5760
देखें poc/CVE-2026-36522.py
कैप्चर किया गया SITL स्टैक ट्रेस (stacktrace.txt) बाहरी इनपुट को असुरक्षित तुलना तक पहुँचता हुआ दिखा रहा है:
#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}
कॉल श्रृंखला (update_receive -> packetReceived -> handle_common_message -> handle_param_set) पुष्टि करती है कि पथ अप्रमाणित नेटवर्क इनपुट से सुलभ है।
उपयोग से पहले आने वाले मान को मान्य करें:
if (isnan(packet.param_value) || isinf(packet.param_value)) {
// reject: value out of range
return;
}
| तिथि | घटना |
|---|---|
| 2026-02-26 | CVE अनुरोध MITRE को प्रस्तुत किया गया |
| 2026-02-26 | विक्रेता को सूचित किया गया (ArduPilot) |
| 2026-06-15 | CVE-2026-36522 असाइन किया गया; PoC और स्टैक ट्रेस प्रकाशित |
Sebastien Arseneault — Deep Woods Security