CVE-2024-51394ArduPilot Copter 是一款广泛使用的开源无人机控制软件。在其最新提交版本(commit 92693e0)中,AP_MSP::loop 函数及 AP_MSP 组件被检测出存在缓冲区溢出漏洞。由于程序在处理特定数据时缺乏足够的边界检查,本地低权限攻击者可以通过构造恶意输入来利用该漏洞。成功利用后,攻击者可导致应用程序崩溃或系统无响应,从而造成拒绝服务(DoS),严重威胁无人机系统的正常运行与可用性。
该漏洞位于 ArduPilot Copter 的 AP_MSP 模块中,具体涉及 AP_MSP.cpp 源文件内的 AP_MSP::loop 函数。MSP (MultiWii Serial Protocol) 是一种用于飞控板通信的协议。漏洞的根源在于该函数在接收或处理 MSP 数据包时,未对输入数据的长度进行严格的边界验证,导致向固定大小的缓冲区写入过量数据。根据 CVSS 向量 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H,攻击者需要具备本地低权限(PR:L),且无需用户交互(UI:N)。由于漏洞主要影响可用性(A:H),攻击者利用此缓冲区溢出可覆盖关键内存区域,触发段错误或异常处理流程,进而导致飞控软件崩溃或重启,实现拒绝服务攻击,但通常不会直接导致数据泄露或权限提升。