USBメモリ作成ツール「Rufus」の4.11以前に、競合状態を利用した権限昇格の脆弱性が確認された。悪用されると、一時ファイルを介して管理者権限で任意のコードを実行される恐れがある。
この記事は会員限定です。会員登録すると全てご覧いただけます。
USBメモリ作成ツール「Rufus」に重大な脆弱(ぜいじゃく)性が存在することが明らかになった。この問題には「CVE-2026-23988」が割り当てられており、共通脆弱性評価システム(CVSS)による評価は7.3で、深刻度「重要」(High)と分析されている。悪用された場合にはローカル環境で権限昇格される可能性がある。
報告された脆弱性は、Rufusのソースコード「src/net.c」に含まれる「DownloadISOThread」関数内に存在する。RufusがISOイメージをダウンロードする際に利用する「Fido」と呼ばれるPowerShellスクリプトの作成、検証、実行処理において、Time-of-check to time-of-use(TOCTOU)と呼ばれる競合状態が発生する点が問題とされている。
具体的にRufusは一時的なPowerShellスクリプトをユーザーの%TEMP%ディレクトリに作成する。このディレクトリは標準ユーザーでも書き込み可能であるにもかかわらず、スクリプト作成時にファイルを排他的にロックしていない。「CreateFileU」関数でファイルを生成し、「WriteFile」で内容を書き込んだ後、「safe_closehandle」によってファイルハンドルを閉じている。この時点でファイルはディスク上で解放された状態となる。
その後、「ValidateSignature」による署名検証が実行され、最終的に「RunCommand」によってPowerShell経由でスクリプトが実行される。しかし、ファイルハンドルが閉じられてから実行に至るまでの間に時間差が生じるため、同一マシンの低権限ユーザーや低権限で動作するマルウェアがスクリプトファイルを差し替える恐れがある。正規のスクリプトが悪意のある内容に置き換えられた場合、その内容が管理者権限で実行される可能性がある。
この脆弱性を悪用する手法として、%TEMP%ディレクトリを監視し、RufusがGUID形式の.ps1ファイルを生成した直後に内容を書き換える手順が示されている。これにより、UACや権限分離を回避し、任意のコードを管理者権限で実行できる状態となる。影響を受けるのはRufus 4.11以前の全てのバージョンとされる。開発側は同脆弱性を修正した「バージョン4.12」のβ版を公開しており、今後リリースされる正式版でもこの修正が適用される見込みだ。
Rufusを利用しているユーザーは速やかに修正済みバージョンへの更新が推奨される。特に管理者権限での実行が前提となるツールである点から、ローカルであっても権限昇格につながる不具合への注意が求められる。
攻撃者は“侵入ではなくログインを選ぶ” アイデンティティー攻撃手法の最新動向
受け身情シスじゃAIに食われる 本当に活躍できる社内IT人材の育て方
クレカ利用通知が止まらない…… 我が家で起きた不正アクセス被害のいきさつ
クレカを止めても被害は止まらない……アカウント侵害の“第二幕”から得た教訓Copyright © ITmedia, Inc. All Rights Reserved.