CVE-2026-32707CVE-2026-32707是PX4 Autopilot飞控系统中tattu_can模块的安全漏洞,存在于1.17.0-rc2之前的所有版本。该漏洞源于多帧组装循环中使用无界限的memcpy操作,当处理精心构造的CAN帧时,可导致栈内存覆写。PX4 Autopilot是一款广泛应用于无人机和无人系统的开源飞行控制软件。攻击者需要具备CAN注入能力并能够物理接触CAN总线。在tattu_can模块启用的情况下,攻击者可通过注入恶意CAN帧触发拒绝服务(DoS)并造成内存损坏。由于攻击向量为物理接触且需要特定硬件条件,该漏洞的利用难度相对较高,但仍对无人机系统安全构成威胁。
该漏洞位于PX4 Autopilot的tattu_can驱动模块中,具体在多帧组装(multi-frame assembly)的处理逻辑。在CAN通信协议中,多帧传输用于处理大于单帧负载的数据包。tattu_can模块在组装这些多帧数据时,使用了无界限检查的memcpy函数直接将接收到的数据复制到栈上的缓冲区。攻击者可通过注入精心构造的CAN帧,控制帧长度和顺序,使memcpy操作超出栈缓冲区边界,从而覆写栈上的返回地址、函数指针或其他关键数据结构。这种栈溢出可导致两种后果:一是触发崩溃造成DoS攻击,二是通过覆写控制流执行任意代码。CVSS向量显示攻击复杂度低(AC:L),但攻击向量为物理接触(AV:P),意味着攻击者需直接连接或接入CAN总线。