CVE-2024-51395ArduPilot Copter在特定提交版本中存在缓冲区溢出漏洞。该漏洞位于AP_SmartAudio相关组件中,攻击者无需认证即可利用该漏洞。由于攻击向量为本地,攻击者可利用此漏洞触发拒绝服务条件,导致无人机控制系统崩溃或不可用,严重影响飞行安全。
该漏洞源于ArduPilot的AP_SmartAudio组件在处理SmartAudio协议数据时,未能正确验证输入数据的长度。在AP_SmartAudio::loop函数中,代码将接收到的数据复制到固定大小的缓冲区时,未执行边界检查。本地攻击者可以通过发送超长或恶意构造的数据包到SmartAudio接口,触发缓冲区溢出。由于该组件运行在飞控系统的核心进程中,溢出可能导致内存破坏,进而引发系统崩溃(DoS)。虽然CVSS向量显示无需权限(PR:N),但通常需要物理接触或本地访问串口接口。