Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationPenetrationstestsHardware- & IoT-SicherheitBinary-Exploitation
GitHubmbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Proof-of-Concept-Exploit für CVE-2026-32707, einen Stack-Pufferüberlauf im tattu_can-Treiber von PX4-Autopilot, der einen Denial-of-Service über manipulierte CAN-Frames verursacht.

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

CVE-2026-32707 CVSS CWE Python Platform License Author

CVE-2026-32707 - PX4-Autopilot tattu_can Stack Buffer Overflow (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 ◂                  ║
║                                                                                            ║
║   Operator : Mohammed Idrees Banyamer  •  Jordan 🇯🇴                                       ║
║   Handle   : @banyamer_security                                                           ║
║                                                                                            ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝

Beschreibung

Dieses Repository enthält einen Proof-of-Concept-Exploit (PoC) für CVE-2026-32707, einen stackbasierten Pufferüberlauf im tattu_can-Treiber der PX4-Autopilot-Flugsteuerungs-Firmware (Versionen ≤ 1.17.0-rc1). Die Schwachstelle liegt in der Routine zur Zusammenstellung von Multi-Frame-Nachrichten: Beim Wiederzusammensetzen einer Tattu12SBatteryMessage-Struktur auf dem Stack führt der Treiber unbegrenzte memcpy()-Operationen durch, ohne den kumulativen Offset gegen die Puffergröße (48 Bytes) zu prüfen. Ein Angreifer, der CAN-Frames in denselben Bus einspeisen kann, kann den Überlauf auslösen, was zu einer Stack-Korruption und anschließendem Absturz (Denial of Service) des PX4-Prozesses führt.

Angriffsablauf-Diagramm

root@kitploit:~
sequenceDiagram
    participant Attacker as Angreifer (CAN-Knoten)
    participant CANbus as CAN-Bus
    participant PX4 as PX4 Autopilot (tattu_can)
    
    Attacker->>CANbus: 1. Start-Frame (DLC=8, data[7]=0x80)
    CANbus->>PX4: Start-of-Transfer empfangen
    PX4->>PX4: tattu_message-Puffer (48 Bytes)<br/>Kopier-Offset=5 Bytes
    
    loop Überlaufframes (7x)
        Attacker->>CANbus: Überlaufframe (DLC=8, Payload 7 Bytes)
        CANbus->>PX4: memcpy(dest+offset, payload, 7)
        PX4->>PX4: offset += 7
    end
    
    Attacker->>CANbus: Letzter Überlaufframe (DLC=8)
    CANbus->>PX4: memcpy(dest+offset, payload, 7)
    PX4->>PX4: offset > 48 → STACK-ÜBERLAUF
    PX4-->>PX4: Absturz (Segfault / Hard Fault)
    Note over PX4: Denial of Service

Verwundbare & behobene Versionen

  • Betroffen: PX4-Autopilot-Versionen ≤ 1.17.0-rc1 mit aktiviertem tattu_can-Treiber
  • Behoben: PX4-Autopilot ≥ 1.17.0-rc2 (Commit 3f04b7a)

Voraussetzungen

  • Python 3 mit der Bibliothek python-can
  • Linux mit SocketCAN-Unterstützung (die meisten Distributionen)
  • Root-Rechte (CAP_NET_RAW) zum Senden von rohen CAN-Frames
  • Eine CAN-Schnittstelle (physisches can0 oder virtuelles vcan0)

Installation

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

# python-can installieren
pip3 install python-can

# (Optional) Virtuelle CAN-Schnittstelle für Tests erstellen
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

Verwendung

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

Beispiel

root@kitploit:~
# Exploit über virtuelle CAN-Schnittstelle (für Simulation/Tests)
sudo python3 exploit.py vcan0

# Exploit über physischen CAN-Bus
sudo python3 exploit.py can0

So funktioniert der Exploit

  1. Start-of-Transfer-Frame – Der erste CAN-Frame (DLC=8) hat sein letztes Byte auf 0x80 gesetzt, was dem Treiber signalisiert, eine neue Tattu12SBatteryMessage zusammenzustellen und die ersten 5 Bytes in den Stack-Puffer zu kopieren.
  2. Überlaufframes – Sieben weitere CAN-Frames (jeweils DLC=8) werden gesendet. Der Treiber kopiert 7 Bytes pro Frame (DLC-1) in den Puffer, beginnend bei Offset 5. Nach dem 7. Frame überschreitet der kumulative Offset 48 Bytes.
  3. Letzter Auslöser – Ein zusätzlicher Frame löst das letzte memcpy() aus, das über die Puffergrenze hinaus schreibt und den Stack-Frame korrumpiert.
  4. Ergebnis – Der PX4-Prozess stürzt ab (Segmentation Fault oder Hard Fault). Auf einem echten Flugcontroller führt dies zu einem Denial of Service (Verlust der Kontrolle).

Erwartete Ausgabe

root@kitploit:~
[*] Sende Start-of-Transfer-Frame auf vcan0 (can_id=0x00000123)
[*] Sende 7 Überlaufframes (jeder kopiert 7 Bytes)...
[*] Sende letzten Überlaufframe...
[+] Angriffssequenz abgeschlossen. Der PX4 tattu_can-Treiber sollte jetzt abstürzen.

Gegenmaßnahmen

  • Aktualisieren Sie PX4-Autopilot auf Version 1.17.0-rc2 oder neuer.
  • Deaktivieren Sie den tattu_can-Treiber, falls nicht benötigt (tattu_can stop oder aus dem Build entfernen).
  • Patch manuell anwenden (Bounds-Check hinzugefügt in 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;
}

Referenzen

  • GitHub Security Advisory GHSA-wxwm-xmx9-hr32
  • Fix-Commit 3f04b7a
  • Verwundbare Quelldatei (vor dem Fix)
  • CVE-2026-32707-Eintrag (NVD)

Credits

  • Entdecker & PoC-Autor – Mohammed Idrees Banyamer
  • Land – Jordanien 🇯🇴
  • Instagram – @banyamer_security
  • GitHub – mbanyamer

Haftungsausschluss

Dieser Proof-of-Concept wird nur für Bildungs- und Sicherheitstestzwecke bereitgestellt. Verwenden Sie ihn nur auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche Testgenehmigung haben. Der Autor ist nicht verantwortlich für Missbrauch oder Schäden, die durch diesen Code verursacht werden.

Tool herunterladen