Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-32707-PX4-Autopilot-tattu_can-Stack-Buffer-Overflow-DoS- — Prova de conceito de exploração para CVE-2026-32707, um estouro de buffer na pilha no driver tattu_can do PX4-Autopilot, causando negação de serviço por meio de quadros CAN maliciosamente elaborados. | Kitploit
Ferramentas/GitHubGitHub/mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-
Segurança de Sistemas EmbarcadosSegurança IoTAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoSegurança de Hardware e IoTExploração de Binários
GitHub

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-

CVE-2026-32707-PX4-Autopilot-tattu_can-Stack-Buffer-Overflow-DoS-

Prova de conceito de exploração para CVE-2026-32707, um estouro de buffer na pilha no driver tattu_can do PX4-Autopilot, causando negação de serviço por meio de quadros CAN maliciosamente elaborados.

Ver Repositório
15há 5 mesesAinda não revisado

CVE-2026-32707 CVSS CWE Python Platform License Author

CVE-2026-32707 - Estouro de Buffer na Pilha do tattu_can do PX4-Autopilot (DoS)

╔════════════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                            ║
║   ██████╗  █████╗ ███╗   ██╗██╗   ██╗ █████╗ ███╗   ███╗███████╗██████╗                     ║
║   ██╔══██╗██╔══██╗████╗  ██║╚██╗ ██╔╝██╔══██╗████╗ ████║██╔════╝██╔══██╗                    ║
║   ██████╔╝███████║██╔██╗ ██║ ╚████╔╝ ███████║██╔████╔██║█████╗  ██████╔╝                    ║
║   ██╔══██╗██╔══██║██║╚██╗██║  ╚██╔╝  ██╔══██║██║╚██╔╝██║██╔══╝  ██╔══██╗                    ║
║   ██████╔╝██║  ██║██║ ╚████║   ██║   ██║  ██║██║ ╚═╝ ██║███████╗██║  ██║                    ║
║   ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝   ╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝                    ║
║                                                                                            ║
║                         [ b a n y a m e r _ s e c u r i t y ]                              ║
║                                                                                            ║
║                  ▸ Silent Hunter  |  Shadow Presence  |  Digital Intel ◂                  ║
║                                                                                            ║
║   Operador : Mohammed Idrees Banyamer  •  Jordânia 🇯🇴                                     ║
║   Handle   : @banyamer_security                                                           ║
║                                                                                            ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝

Descrição

Este repositório contém um exploit de prova‑de‑conceito (PoC) para CVE‑2026‑32707, um estouro de buffer baseado na pilha no driver tattu_can do firmware do controlador de voo PX4‑Autopilot (versões ≤ 1.17.0‑rc1). A vulnerabilidade reside na rotina de montagem de mensagens multi‑quadro: ao remontar uma estrutura Tattu12SBatteryMessage na pilha, o driver executa operações memcpy() sem limites, sem verificar o deslocamento acumulado em relação ao tamanho do buffer (48 bytes). Um atacante com capacidade de injetar quadros CAN no mesmo barramento pode acionar o estouro, causando corrupção da pilha e consequente travamento (Negação de Serviço) do processo PX4.

Diagrama do Fluxo de Ataque

sequenceDiagram
    participant Attacker as Atacante (Nó CAN)
    participant CANbus as Barramento CAN
    participant PX4 as PX4 Autopilot (tattu_can)
    
    Attacker->>CANbus: 1. Quadro de início (DLC=8, data[7]=0x80)
    CANbus->>PX4: Início de transferência recebido
    PX4->>PX4: Buffer tattu_message (48 bytes)<br/>Deslocamento de cópia = 5 bytes
    
    loop Quadros de estouro (7x)
        Attacker->>CANbus: Quadro de estouro (DLC=8, payload 7 bytes)
        CANbus->>PX4: memcpy(dest+offset, payload, 7)
        PX4->>PX4: offset += 7
    end
    
    Attacker->>CANbus: Quadro de estouro final (DLC=8)
    CANbus->>PX4: memcpy(dest+offset, payload, 7)
    PX4->>PX4: offset > 48 → ESTOURO DE PILHA
    PX4-->>PX4: Travamento (segfault / hard fault)
    Note over PX4: Negação de Serviço

Versões Vulneráveis e Corrigidas

  • Afetadas: Versões do PX4‑Autopilot ≤ 1.17.0‑rc1 com o driver tattu_can habilitado
  • Corrigidas: PX4‑Autopilot ≥ 1.17.0‑rc2 (commit 3f04b7a)

Requisitos

  • Python 3 com a biblioteca python-can
  • Linux com suporte a SocketCAN (a maioria das distribuições)
  • Privilégios de root (CAP_NET_RAW) para enviar quadros CAN brutos
  • Uma interface CAN (física can0 ou virtual vcan0)

Instalação

# Clonar o repositório
git clone https://github.com/mbanyamer/CVE-2026-32707-PoC.git
cd CVE-2026-32707-PoC

# Instalar python-can
pip3 install python-can

# (Opcional) Criar uma interface CAN virtual para testes
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

Uso

sudo python3 exploit.py <interface_can>

Exemplo

# Explorar via interface CAN virtual (para simulação/testes)
sudo python3 exploit.py vcan0

# Explorar via barramento CAN físico
sudo python3 exploit.py can0

Como o Exploit Funciona

  1. Quadro de início de transferência – O primeiro quadro CAN (DLC=8) tem seu último byte definido como 0x80, o que sinaliza ao driver para começar a montar uma nova Tattu12SBatteryMessage e copia os primeiros 5 bytes para o buffer da pilha.
  2. Quadros de estouro – Sete quadros CAN subsequentes (cada um com DLC=8) são enviados. O driver copia 7 bytes por quadro (DLC‑1) para o buffer a partir do deslocamento 5. Após o 7º quadro, o deslocamento acumulado excede 48 bytes.
  3. Acionamento final – Um quadro extra aciona o último memcpy() que escreve além do limite do buffer, corrompendo o quadro da pilha.
  4. Resultado – O processo PX4 trava (falha de segmentação ou hard fault). Em um controlador de voo real, isso leva a uma negação de serviço (perda de controle).

Saída Esperada

[*] Enviando quadro de início de transferência em vcan0 (can_id=0x00000123)
[*] Enviando 7 quadros de estouro (cada um copia 7 bytes)...
[*] Enviando quadro de estouro final...
[+] Sequência de ataque concluída. O driver tattu_can do PX4 deve travar agora.

Mitigação

  • Atualize o PX4‑Autopilot para a versão 1.17.0‑rc2 ou posterior.
  • Desabilite o driver tattu_can se não for necessário (tattu_can stop ou remova da compilação).
  • Aplique o patch manualmente (verificação de limites adicionada no commit 3f04b7a):
while (receive(&received_frame) > 0) {
+   if (received_frame.payload_size == 0) {
+       break;
+   }
    size_t payload_size = received_frame.payload_size - 1;
-   // TODO: add check ...
+   if (offset + payload_size > sizeof(tattu_message)) {
+       break;
+   }
    memcpy(((char *)&tattu_message) + offset, received_frame.payload, payload_size);
    offset += payload_size;
}

Referências

  • Aviso de Segurança do GitHub GHSA-wxwm-xmx9-hr32
  • Commit de correção 3f04b7a
  • Arquivo fonte vulnerável (antes da correção)
  • Entrada CVE-2026-32707 (NVD)

Créditos

  • Descobridor e Autor do PoC – Mohammed Idrees Banyamer
  • País – Jordânia 🇯🇴
  • Instagram – @banyamer_security
  • GitHub – mbanyamer

Aviso Legal

Esta prova‑de‑conceito é fornecida apenas para fins educacionais e de teste de segurança. Use‑a somente em sistemas que você possui ou para os quais tenha permissão explícita de teste. O autor não é responsável por qualquer uso indevido ou dano causado por este código.

Baixar ferramenta