関連記事
GNOMEのファイルマネージャーに任意のVBScriptコード実行できる脆弱性
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(重大)扱いとなっている。
スラドのコメントを読む | オープンソースセクション | オープンソース | セキュリティ | バグ | Wine | GNOME
関連ストーリー:
開発に使われたPCがウイルスに感染していたためにウイルスが混入したと見られるAndroidアプリ、多数見つかる 2017年03月08日
新ブラウザ「Edge」ではActiveXやVBScriptがサポート外に 2015年05月11日
WineはChrome OS上では動かない 2014年04月09日
※この記事はスラドから提供を受けて配信しています。
スポンサードリンク