Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-
Sicurezza Sistemi EmbeddedSicurezza IoTAnalisi delle VulnerabilitàExploitPenetration TestingSicurezza Hardware e IoTBinary Exploitation
GitHubmbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Proof-of-concept exploit per CVE-2026-32707, un overflow del buffer di stack nel driver tattu_can di PX4-Autopilot, che causa denial of service tramite frame CAN appositamente costruiti.

Vedi Repository
3 mesi faNon ancora revisionato

CVE-2026-32707 CVSS CWE Python Platform License Author

CVE-2026-32707 - Overflow del buffer di stack in PX4-Autopilot tattu_can (DoS)

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

Descrizione

Questo repository contiene una proof‑of‑concept (PoC) exploit per CVE‑2026‑32707, un overflow del buffer basato su stack nel driver tattu_can del firmware del controller di volo PX4‑Autopilot (versioni ≤ 1.17.0‑rc1). La vulnerabilità risiede nella routine di assemblaggio dei messaggi multi‑frame: durante il riassemblaggio di una struttura Tattu12SBatteryMessage sullo stack, il driver esegue operazioni memcpy() senza limiti senza verificare l'offset cumulativo rispetto alla dimensione del buffer (48 byte). Un attaccante in grado di iniettare frame CAN sullo stesso bus può innescare l'overflow, causando una corruzione dello stack e il successivo crash (Denial of Service) del processo PX4.

Diagramma del Flusso di Attacco

root@kitploit:~
sequenceDiagram
    participant Attacker as Attacker (CAN Node)
    participant CANbus as CAN Bus
    participant PX4 as PX4 Autopilot (tattu_can)
    
    Attacker->>CANbus: 1. Frame di inizio (DLC=8, data[7]=0x80)
    CANbus->>PX4: Inizio trasferimento ricevuto
    PX4->>PX4: Buffer tattu_message (48 byte)<br/>Offset di copia=5 byte
    
    loop Frame di overflow (7x)
        Attacker->>CANbus: Frame di overflow (DLC=8, payload 7 byte)
        CANbus->>PX4: memcpy(dest+offset, payload, 7)
        PX4->>PX4: offset += 7
    end
    
    Attacker->>CANbus: Frame di overflow finale (DLC=8)
    CANbus->>PX4: memcpy(dest+offset, payload, 7)
    PX4->>PX4: offset > 48 → OVERFLOW DELLO STACK
    PX4-->>PX4: Crash (segfault / hard fault)
    Note over PX4: Denial of Service

Versioni Vulnerabili e Corrette

  • Affette: versioni PX4‑Autopilot ≤ 1.17.0‑rc1 con driver tattu_can abilitato
  • Corrette: PX4‑Autopilot ≥ 1.17.0‑rc2 (commit 3f04b7a)

Requisiti

  • Python 3 con libreria python-can
  • Linux con supporto SocketCAN (la maggior parte delle distribuzioni)
  • Privilegi di root (CAP_NET_RAW) per inviare frame CAN grezzi
  • Un'interfaccia CAN (fisica can0 o virtuale vcan0)

Installazione

root@kitploit:~
# Clona il repository
git clone https://github.com/mbanyamer/CVE-2026-32707-PoC.git
cd CVE-2026-32707-PoC

# Installa python-can
pip3 install python-can

# (Opzionale) Crea un'interfaccia CAN virtuale per i test
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

Utilizzo

root@kitploit:~
sudo python3 exploit.py <interfaccia_can>

Esempio

root@kitploit:~
# Exploit tramite interfaccia CAN virtuale (per simulazione/test)
sudo python3 exploit.py vcan0

# Exploit tramite bus CAN fisico
sudo python3 exploit.py can0

Come Funziona l'Exploit

  1. Frame di inizio trasferimento – Il primo frame CAN (DLC=8) ha l'ultimo byte impostato a 0x80, che segnala al driver di iniziare l'assemblaggio di un nuovo Tattu12SBatteryMessage e copia i primi 5 byte nel buffer dello stack.
  2. Frame di overflow – Vengono inviati sette frame CAN successivi (ciascuno con DLC=8). Il driver copia 7 byte per frame (DLC‑1) nel buffer a partire dall'offset 5. Dopo il 7° frame, l'offset cumulativo supera i 48 byte.
  3. Trigger finale – Un frame extra innesca l'ultima memcpy() che scrive oltre il limite del buffer, corrompendo il frame dello stack.
  4. Risultato – Il processo PX4 va in crash (segmentation fault o hard fault). Su un controller di volo reale, questo porta a un denial of service (perdita di controllo).

Output Atteso

root@kitploit:~
[*] Invio del frame di inizio trasferimento su vcan0 (can_id=0x00000123)
[*] Invio di 7 frame di overflow (ciascuno copia 7 byte)...
[*] Invio del frame di overflow finale...
[+] Sequenza di attacco completata. Il driver tattu_can di PX4 dovrebbe ora andare in crash.

Mitigazione

  • Aggiorna PX4‑Autopilot alla versione 1.17.0‑rc2 o successiva.
  • Disabilita il driver tattu_can se non necessario (tattu_can stop o rimuovilo dalla build).
  • Applica la patch manualmente (controllo dei limiti aggiunto nel commit 3f04b7a):
root@kitploit:~
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;
}

Riferimenti

  • GitHub Security Advisory GHSA-wxwm-xmx9-hr32
  • Commit di correzione 3f04b7a
  • File sorgente vulnerabile (prima della correzione)
  • Voce CVE-2026-32707 (NVD)

Crediti

  • Scopritore e autore della PoC – Mohammed Idrees Banyamer
  • Paese – Giordania 🇯🇴
  • Instagram – @banyamer_security
  • GitHub – mbanyamer

Disclaimer

Questa proof‑of‑concept è fornita solo per scopi educativi e di test di sicurezza. Utilizzala esclusivamente su sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo codice.

Scarica lo strumento