CVE-2026-32705CVE-2026-32705是PX4自动驾驶仪项目中的一个高危安全漏洞。PX4 autopilot是一款广泛应用于无人机领域的开源飞行控制解决方案。该漏洞存在于BST遥测探针模块中,具体问题是在处理设备名称长度时,代码直接使用设备提供的长度值来写入字符串终止符,而没有进行任何边界检查。攻击者可以通过恶意构造的BST设备向无人机控制系统发送超长的dev_name_len参数,触发栈缓冲区溢出。这不仅会导致飞行控制任务崩溃,还可能被攻击者利用来执行任意代码,从而完全接管无人机的控制权。由于攻击向量为物理接触,攻击者需要直接访问无人机的BST遥测接口。该漏洞已在1.17.0-rc2版本中修复。
该漏洞的根本原因在于BST遥测探针驱动程序在处理来自外部设备的数据时缺乏输入验证。在PX4-Autopilot的BST驱动代码中,当接收到BST设备的设备名称时,程序使用设备提供的dev_name_len值来定位字符串终止符的写入位置。由于没有对该长度值进行上限检查,当恶意设备报告一个超大的dev_name_len时,驱动程序会将数据写入栈上的越界地址,导致栈溢出。攻击者利用这一漏洞可以覆盖栈上的返回地址和关键函数指针,从而控制程序执行流程。在无人机系统中,这种漏洞尤其危险,因为攻击者可能通过物理接触无人机的遥测端口来实施攻击,最终导致无人机失控或被恶意操控。修复方案是在使用设备提供的长度值之前添加严格的边界检查,确保写入操作不会超出预期缓冲区范围。