Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-36522 — CVE-2026-36522: ArduPilot ArduPlane 中通过 MAVLink PARAM_SET 的未认证 NaN 注入(CWE-1287、DoS/完整性) | Kitploit
工具/GitHubGitHub/deepwoodssec/cve-2026-36522
嵌入式系统安全物联网安全漏洞分析漏洞利用模糊测试渗透测试
GitHubdeepwoodssec/cve-2026-36522

CVE-2026-36522

CVE-2026-36522: ArduPilot ArduPlane 中通过 MAVLink PARAM_SET 的未认证 NaN 注入(CWE-1287、DoS/完整性)

查看仓库
2个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-36522

ArduPilot ArduPlane 中通过 MAVLink PARAM_SET 进行的未认证 NaN 注入

CVECVE-2026-36522
CWECWE-1287(对指定输入类型的验证不当)
CVSS 3.19.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 或无穷大。该畸形值会在没有类型或数值检查的情况下到达一个浮点比较(AP_Math.cpp 中的 is_equal<float,float>())。

这不是一个代码执行漏洞。其影响是拒绝服务和完整性破坏。

影响

  • SITL / 启用了 FP 异常的构建: NaN 会触发浮点异常(SIGFPE),自动驾驶进程中止——拒绝服务。
  • 生产硬件(STM32/Pixhawk),其中 FP 异常被禁用: 畸形值被静默存储到飞行关键参数中,不会崩溃,也不会向操作员显示任何警告。这是更危险的情况:损坏的飞行参数会在操作员毫无察觉的情况下传播到控制数学计算中。

验证缺口位于通用参数处理器中,因此所有浮点类型参数都会受到影响。

概念验证

一个针对 ARSPD_FBW_MIN 的、携带静默 NaN(0x7FC00000)的单个未认证 PARAM_SET 消息:

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

参见 poc/CVE-2026-36522.py。

证据

捕获的 SITL 堆栈跟踪(stacktrace.txt)显示了外部输入到达未受防护的比较操作的过程:

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}

调用链(update_receive -> packetReceived -> handle_common_message -> handle_param_set)证实了该路径可以从未认证的网络输入到达。

修复方案

在使用之前验证传入的值:

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

披露时间线

日期事件
2026-02-26已向 MITRE 提交 CVE 请求
2026-02-26已通知供应商(ArduPilot)
2026-06-15CVE-2026-36522 已分配;PoC 和堆栈跟踪已发布

致谢

Sebastien Arseneault — Deep Woods Security

下载工具