Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-32707-PX4-Autopilot-tattu_can-Stack-Buffer-Overflow-DoS- — CVE-2026-32707の概念実証エクスプロイト。PX4-Autopilotのtattu_canドライバにおけるスタックバッファオーバーフローで、巧妙に細工されたCANフレームを介してサービス拒否を引き起こします。 | Kitploit
ツール/GitHubGitHub/mbanyamer/cve-2026-32707-px4-autopilot-tattu_can-stack-buffer-overflow-dos-
組み込みシステムセキュリティIoTセキュリティ脆弱性分析エクスプロイトペネトレーションテストハードウェアとIoTセキュリティバイナリエクスプロイト
GitHubmbanyamer/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の概念実証エクスプロイト。PX4-Autopilotのtattu_canドライバにおけるスタックバッファオーバーフローで、巧妙に細工されたCANフレームを介してサービス拒否を引き起こします。

リポジトリを見る
64ヶ月前未レビュー

CVE-2026-32707 CVSS CWE Python Platform License Author

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

説明

このリポジトリには、PX4-Autopilot フライトコントローラファームウェア(バージョン ≤ 1.17.0-rc1)の tattu_can ドライバにおけるスタックベースのバッファオーバーフローである CVE-2026-32707 の概念実証(PoC)エクスプロイトが含まれています。この脆弱性はマルチフレームメッセージ組み立てルーチンに存在します。スタック上で Tattu12SBatteryMessage 構造体を再組み立てする際、ドライバは累積オフセットをバッファサイズ(48バイト)に対してチェックせずに、境界チェックのない memcpy() 操作を実行します。同じバスに 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

脆弱性のあるバージョンと修正済みバージョン

  • 影響を受けるバージョン: tattu_can ドライバが有効な PX4-Autopilot ≤ 1.17.0-rc1
  • 修正済みバージョン: PX4-Autopilot ≥ 1.17.0-rc2(コミット 3f04b7a)

要件

  • Python 3 と python-can ライブラリ
  • SocketCAN をサポートする Linux(ほとんどのディストリビューション)
  • 生の CAN フレームを送信するためのroot 権限(CAP_NET_RAW)
  • 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. オーバーフローフレーム – 後続の 7 つの CAN フレーム(各 DLC=8)が送信されます。ドライバはオフセット 5 から始まるバッファにフレームごとに 7 バイト(DLC-1)をコピーします。7 番目のフレームの後、累積オフセットは 48 バイトを超えます。
  3. 最終トリガー – 追加のフレームが最後の memcpy() をトリガーし、バッファ境界を超えて書き込み、スタックフレームを破損させます。
  4. 結果 – PX4 プロセスがクラッシュします(セグメンテーションフォールトまたはハードフォールト)。実際のフライトコントローラでは、これはサービス拒否(制御不能)につながります。

期待される出力

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

免責事項

この概念実証は教育およびセキュリティテスト目的のみで提供されています。所有しているシステム、または明示的なテスト許可を得たシステムでのみ使用してください。著者は、このコードの誤用または損害について一切の責任を負いません。

ツールをダウンロード