Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-32707-PX4-Autopilot-tattu_can-Stack-Buffer-Overflow-DoS- — Доказательство концепции эксплуатации для CVE-2026-32707 — переполнение буфера стека в драйвере tattu_can автопилота PX4-Autopilot, вызывающее отказ в обслуживании через специально сформированные CAN-кадры. | Kitploit
Инструменты/GitHubGitHub/mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-
Безопасность встроенных системБезопасность IoTАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеБезопасность оборудования и IoTЭксплуатация Бинарных Файлов
GitHub

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-

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

Доказательство концепции эксплуатации для CVE-2026-32707 — переполнение буфера стека в драйвере tattu_can автопилота PX4-Autopilot, вызывающее отказ в обслуживании через специально сформированные CAN-кадры.

Репозиторий
64 месяцев назадЕщё не проверено

CVE-2026-32707 CVSS CWE Python Platform License Author

CVE-2026-32707 - Переполнение буфера стека tattu_can в PX4-Autopilot (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                                                           ║
║                                                                                            ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝

Описание

Этот репозиторий содержит эксплойт proof‑of‑concept (PoC) для CVE‑2026‑32707 — переполнение буфера стека в драйвере tattu_can прошивки контроллера полёта PX4‑Autopilot (версии ≤ 1.17.0‑rc1). Уязвимость находится в процедуре сборки многофреймовых сообщений: при восстановлении структуры Tattu12SBatteryMessage в стеке драйвер выполняет неограниченные операции memcpy() без проверки накопленного смещения относительно размера буфера (48 байт). Злоумышленник, способный отправлять CAN‑кадры в ту же шину, может вызвать переполнение, что приводит к повреждению стека и последующему сбою (отказ в обслуживании) процесса PX4.

Схема атаки

root@kitploit:~
sequenceDiagram
    participant Attacker as Attacker (CAN Node)
    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 received
    PX4->>PX4: tattu_message buffer (48 bytes)<br/>Copy offset=5 bytes
    
    loop Overflow frames (7x)
        Attacker->>CANbus: Overflow frame (DLC=8, payload 7 bytes)
        CANbus->>PX4: memcpy(dest+offset, payload, 7)
        PX4->>PX4: offset += 7
    end
    
    Attacker->>CANbus: Final overflow frame (DLC=8)
    CANbus->>PX4: memcpy(dest+offset, payload, 7)
    PX4->>PX4: offset > 48 → STACK OVERFLOW
    PX4-->>PX4: Crash (segfault / hard fault)
    Note over PX4: Denial of Service

Уязвимые и исправленные версии

  • Затронуты: версии PX4‑Autopilot ≤ 1.17.0‑rc1 с включённым драйвером tattu_can
  • Исправлено: PX4‑Autopilot ≥ 1.17.0‑rc2 (коммит 3f04b7a)

Требования

  • Python 3 с библиотекой python-can
  • Linux с поддержкой SocketCAN (большинство дистрибутивов)
  • Права root (CAP_NET_RAW) для отправки сырых CAN‑кадров
  • CAN‑интерфейс (физический can0 или виртуальный vcan0)

Установка

root@kitploit:~
# Клонирование репозитория
git clone https://github.com/mbanyamer/CVE-2026-32707-PoC.git
cd CVE-2026-32707-PoC

# Установка python-can
pip3 install python-can

# (Опционально) Создание виртуального CAN-интерфейса для тестирования
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

Использование

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

Пример

root@kitploit:~
# Эксплуатация через виртуальный CAN-интерфейс (для симуляции/тестирования)
sudo python3 exploit.py vcan0

# Эксплуатация через физическую CAN-шину
sudo python3 exploit.py can0

Как работает эксплойт

  1. Кадр начала передачи – Первый CAN‑кадр (DLC=8) имеет последний байт, установленный в 0x80, что сигнализирует драйверу о начале сборки нового Tattu12SBatteryMessage и копирует первые 5 байт в буфер стека.
  2. Кадры переполнения – Отправляются семь последующих CAN‑кадров (каждый DLC=8). Драйвер копирует 7 байт на кадр (DLC‑1) в буфер, начиная со смещения 5. После 7‑го кадра накопленное смещение превышает 48 байт.
  3. Финальный триггер – Дополнительный кадр вызывает последний memcpy(), который записывает за границу буфера, повреждая стековый кадр.
  4. Результат – Процесс PX4 аварийно завершается (segmentation fault или hard fault). На реальном контроллере полёта это приводит к отказу в обслуживании (потере управления).

Ожидаемый вывод

root@kitploit:~
[*] Sending start-of-transfer frame on vcan0 (can_id=0x00000123)
[*] Sending 7 overflow frames (each copies 7 bytes)...
[*] Sending final overflow frame...
[+] Attack sequence completed. The PX4 tattu_can driver should now crash.

Меры по смягчению

  • Обновите PX4‑Autopilot до версии 1.17.0‑rc2 или новее.
  • Отключите драйвер tattu_can, если он не требуется (tattu_can stop или удалите из сборки).
  • Примените патч вручную (проверка границ добавлена в коммите 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;
}

Ссылки

  • GitHub Security Advisory GHSA-wxwm-xmx9-hr32
  • Исправляющий коммит 3f04b7a
  • Уязвимый исходный файл (до исправления)
  • Запись CVE-2026-32707 (NVD)

Авторы

  • Обнаружитель и автор PoC – Mohammed Idrees Banyamer
  • Страна – Иордания 🇯🇴
  • Instagram – @banyamer_security
  • GitHub – mbanyamer

Отказ от ответственности

Этот proof‑of‑concept предоставлен только для образовательных целей и целей тестирования безопасности. Используйте его только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим кодом.

Скачать инструмент