パスワードを忘れた? アカウント作成
13347812 submission
Wine

GNOMEのファイルマネージャーで任意のVBScriptコードを実行可能なバグ「Bad Taste」

タレコミ by headless
headless 曰く、
GNOMEのファイルマネージャー「GNOME File (Nautilus)」で任意のVBScriptコードを実行可能な脆弱性「Bad Taste」が発見された(発見者による解説記事The Registerの記事Neowinの記事Bleeping Computerの記事CVE-2017-11421)。

問題はWindowsの実行ファイル(.exe)やWindowsインストーラーパッケージ(MSIファイル: .msi)などのアイコンをGNOME File上で表示するために使われる「gnome-exe-thumbnailer」のバージョン0.9.4-2以前に存在し、Wineがインストールされた環境で再現する。また、GNOME Fileのほか、「Cinnamon Nemo」や「MATE caja」といったファイルマネージャーも影響を受けるとのこと。

バージョン0.9.4-2までのgnome-exe-thumbnailerはMSIファイルを処理する際、Wineが利用できる場合には一時ファイルとしてVBSファイルをテンプレートから生成し、スクリプトを実行して「WindowsInstaller.Installer」オブジェクトからファイルバージョンを抽出する。しかし、スクリプトにはMSIファイルのファイル名が記述されるため、VBScriptコードとして解釈可能なファイル名にすることで任意のVBScriptコードを実行可能になる。

生成されるVBSファイルの問題部分は以下のようなものだ。

Set DB = WI.OpenDatabase("ファイル名",0)

VBScriptではコロン(:)で区切って複数のステートメントを1行に記述できるようになっており、引用符(')以下はコメントとして扱われる。

そのため、ファイル名を

poc.msi",0):ステートメント1[:ステートメント2[...]]'.msi

のようにすると該当部分のコードは

Set DB = WI.OpenDatabase("poc.msi",0):ステートメント1[:ステートメント2[...]]'.msi

となり、「Set DB = WI.OpenDatabase("poc.msi",0)」に続いてステートメントが順に実行され、最後の拡張子部分はコメント扱いになる。なお、PoCでは「poc.msi」を生成後、コードを含む名前のファイルにコピーしている。そのため、「WI.OpenDatabase」では「poc.msi」を読み込んでいる可能性もあるが、詳細は不明だ。

このバグはgnome-exe-thumbnailer 0.9.5-1でVBScriptを使用する部分をmsiinfoからのファイルバージョン取得に置き換える形で修正された。ファイル名に含めるコードの内容は攻撃者の腕次第であり、コードはユーザーの権限で実行されるが、Debianのバグリポートではgrave(重大)扱いとなっている。

この議論は、 ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

Stableって古いって意味だっけ? -- Debian初級

読み込み中...