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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-26399-Disclosure — Arduino_Core_STM32におけるスタックベースのuse-after-return脆弱性の開示。技術的な根本原因、影響を受けるバージョン、修正内容、およびセキュリティ影響の分析を詳述しています。 | Kitploit
ツール/GitHubGitHub/acen28/cve-2026-26399-disclosure
組み込みシステムセキュリティ脆弱性分析ファジングハードウェアとIoTセキュリティ
GitHubacen28/cve-2026-26399-disclosure

CVE-2026-26399-Disclosure

Arduino_Core_STM32におけるスタックベースのuse-after-return脆弱性の開示。技術的な根本原因、影響を受けるバージョン、修正内容、およびセキュリティ影響の分析を詳述しています。

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

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-26399: Arduino_Core_STM32(旧バージョン)におけるスタックベースのUse-After-Return

概要

Arduino_Core_STM32 のバージョン 1.7.0 より前の旧バージョンには、スタックベースのuse-after-returnの脆弱性が存在します。

この問題は pwm_start() の実装にあり、TIM_HandleTypeDef オブジェクトがスタック上に割り当てられ、そのアドレスがHAL初期化ロジックに渡されます。このポインタは後でグローバルなタイマーハンドルレジストリに保持され、元のスタックフレームがすでに戻った後に割り込みサービスルーチンによって非同期に逆参照される可能性があります。

この脆弱性は、MITREによって CVE-2026-26399 として割り当てられています。

影響を受ける製品

  • 製品: Arduino_Core_STM32
  • ベンダー / プロジェクト: stm32duino / STMicroelectronicsエコシステム
  • 影響を受けるバージョン: v0.1.0 から v1.6.1
  • 修正済みバージョン: v1.7.0

脆弱性の種類

  • CWE-562: Use After Return
  • スタックベースのダングリングポインタ / use-after-return

技術的詳細

pwm_start() の旧実装では、TIM_HandleTypeDef 構造体がローカルなスタック変数として作成されます:

root@kitploit:~
void pwm_start(...) {
    TIM_HandleTypeDef timHandle = {};
    HAL_TIM_PWM_Init(&timHandle);
    ...
}

このローカルオブジェクトのアドレスはHALサポートロジックに渡され、グローバルなタイマー管理状態(グローバルタイマーハンドルレジストリなど)に格納される可能性があります。

pwm_start() が戻った後、スタックオブジェクトはもはや有効ではありません。しかし、その後の非同期タイマー割り込みハンドラが古いポインタを逆参照し続ける可能性があり、メモリ破損と未定義の動作を引き起こします。

影響

考えられるセキュリティ上の影響は以下のとおりです:

  • サービス拒否(例:クラッシュまたはHardFault)
  • メモリレイアウトと制御条件が有利な場合の潜在的なコード実行

これはライブラリレベルの問題であるため、実際の悪用可能性は、脆弱なライブラリがファームウェアにどのように統合されるか、また攻撃者が制御する入力がスタック再利用と割り込みタイミングにどのように影響を与え得るかに依存します。

影響を受けるコンポーネント

  • cores/arduino/stm32/analog.c
  • pwm_start()
  • TIM_HandleTypeDef
  • グローバルタイマーハンドル追跡ロジック(例:timer_handles)

修正

この問題は、バージョン 1.7.0 で、以前のスタックベースの処理経路を異なるタイマー管理設計に置き換えたリファクタリング中に間接的に解決されたようです。この旧脆弱性に対して専用のセキュリティアドバイザリが発行された形跡はありません。

発見

この問題は、Arduino_Core_STM32 上に構築された旧STM32ベースのファームウェアのファジングと根本原因分析を含むファームウェアセキュリティ調査中に特定されました。

ベンダーへの連絡

ベンダーのPSIRTに連絡しました。回答では、この問題はバージョン 1.7.0 ですでに修正されていたため現在のバージョンは影響を受けないと示されましたが、当時ベンダーから専用のCVEが要求された形跡はありません。

クレジット

Jin Chang によって発見されました。

参考情報

  • プロジェクトリポジトリ: https://github.com/stm32duino/Arduino_Core_STM32
  • CVE ID: CVE-2026-26399
ツールをダウンロード