GNOMEのファイルマネージャーで任意のVBScriptコードを実行可能なバグ「Bad Taste」 32
ストーリー by 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コードを実行可能になる。
問題は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(重大)扱いとなっている。
Eazel (スコア:0)
Eazel社って2001年に破産したんだよな
Ximianも買収されちゃったし
会社は死してオプソソフトを残す
穴は残さないでほしい
Re:Eazel (スコア:1)
オープンソースなんだから、気づいた奴が直せばいいじゃん
Re: (スコア:0)
直したのを再配布して、ユーザーに普及させてくれるならね。
開発元が潰れてるとユーザーが「そのアプリを更新する」という発想がなくなるから、多くのユーザーは脆弱性のあるバージョンを使い続けることになるかと。
Re: (スコア:0)
訓練されたオープンソースソフトウェアユーザーはオープンソースソフトウェアの開発が停止した場合フォークしていないかどうかを確認する。されていればそっちに行く。されていなければ諦めて自分でフォークするか、古いバージョンを使い続けるか、そのソフトを捨てるかだな。これがプロプライエタリ・ソフトウェアなら古いバージョンを使い続けるか諦めてそのソフトを捨てるかしかない。
まあそもそもWineを使ってるような連中はレポジトリのソフトを使うからあんまり関係ないけど。
Re: (スコア:0)
何言ってんだかわかんないんだけど、脆弱性残すぐらいならソース公開なんかやめろってこと?
Re: (スコア:0)
いや、まず基本的な読解力をつけてから出直した方がいいんでは。
Re: (スコア:0)
とりあえずコメントしとけば逃げてない事になってると思ってるんだね。
配布したソースに対して誰がどうやって責任を負うべきと(あるいはその必要が無いと)思ってるのか
読解力のありそうなあなたが#3248675を解説してみてよ。
Re: (スコア:0)
穴は残さないでほしいってことだと思うよ
Re: (スコア:0)
そうなるソフトもあるかもしれませんし
#3248675の中では、開発元がOSSをいろんな意味で
潰れてなお、支配し続けているという概念があるのでしょうが…
実質的には、Linux系OSで使われているソフトのほとんどは
OS標準のリポジトリーの中にあるので
セキュリティアップデートはOSの開発元か
上流にあたるOSの開発元がやってくれるのが普通だったりします。
最悪、メンテナンスする人がいないから、リポジトリーから廃止される場合もあります。
ですから、Nautilusが使われ続けているのは
そういった改修が続けられていることの反映でもあります。
というか、Linux系OSの大半は、アプリを更新するという概念
Re: (スコア:0)
というか、まさにそうしたという話だよねこれ(正確には気づいたので直してくれそうな人に丸投げするために公表した、だが)。
Wineのリスクって… (スコア:0)
Wineを導入することによってWindowsを対象とした攻撃が
影響を及ぼす恐れがある…ホントかよ?
だなんて思っていた時代が、私にもありました。5分位前です。
でも、正確にはWindowsを対象とした攻撃というよりも
gnome環境を対象とした攻撃ということになるのかな?
まぁ、Wineも使わないし、Gnome系も普通使わないので
直接的な影響は受けないんですけどね。
Re:Wineのリスクって… (スコア:3, 興味深い)
昔(15年位前?)の雑誌かWebかで見かけた記事を思い出しました。
うろ覚えですが、Linuxには殆どないのに、Windowsにはウイルスが沢山あって遊べてずるい!何とかして、Linuxでウイルスを動かそう!見たいなノリでした。
それで、初期のWineを使って有名なウイルスを実行するも、殆ど起動せず、起動しても何も起きなかったりだったけど、1つだけ、Windowsで行っているような悪さはしないけど、Linuxをフリーズさせるウイルスがあって、被害を出せたのは評価できるみたいな結論だった気がします。
Re:Wineのリスクって… (スコア:2, 興味深い)
原文は見つかりませんでしたが、翻訳がありました。
https://mag.osdn.jp/05/01/31/0346216 [mag.osdn.jp]
文中には、「自分で実行しなければならない」とありますが、
今回の機能で、自動実行が行えるようになったというのは
感慨深いものがあります。
Re:Wineのリスクって… (スコア:1)
いや。。
Windows云々以前に
インジェクション対策の問題かと
・エスケープを考慮していない
・問答無用の自動実行
この前提であれば
シェルスクリプトを用いても成り立ちます
OSの違いは用いるスクリプト言語の違いでしかない
# 道具が悪いんじゃない阿呆が悪いのさ
Re:Wineのリスクって… (スコア:1)
Wineが生成する奴を利用するのでUnix系がターゲットなんでしょうね。
しかし.MSIファイルをWindows以外を狙うために作るなんて発想は、仕組み的に出来ることが分かってたとしても中々思い付かないな。
簡単に引っかかりそうだ。。
Windows10のBashも同じ運命辿るんだろうな。。
Re:Wineのリスクって… (スコア:3)
問題のある VBScript を生成しているのは、gnome-exe-thumbnailer であって Wine ではないよ。
(Wine は VBScript のインタプリンタを実行するのに使ってるだけ)
しかしなんでまたサムネイルにバージョンの表示なんて余分なことをしようと思ったんだか……。
svn-init() {
svnadmin create .svnrepo
svn checkout file://$PWD/.svnrepo .
}
Re:Wineのリスクって… (スコア:1)
>Windows10のBashも同じ運命辿るんだろうな。。
Windows Subsystem for Linuxは自分でインストールすることが必要で、
メニューの場所も知らなきゃわからない深い場所にありますので、
開発者以外のユーザーは使わないでしょう。
他にも、標準で入っているPowerShellも、初期設定ではスクリプトの実行が禁止されていたり、
拡張子*.ps1がメモ帳に関連付けされている(ダブルクリックでは実行できない)など、
カジュアルユーザーが攻撃を受けないように配慮されています。
Re: (スコア:0)
そのへんは今後改善(改悪かもしれないが)される予定ですね。そのうちインサイダー以外でもインストールできるようになるでしょうし。
http://forest.watch.impress.co.jp/docs/news/1064455.html [impress.co.jp]
http://gigazine.net/news/20170711-ubuntu-on-windows-store/ [gigazine.net]
まあWindows上でBashを使うような人がwineを使うとも思えないので今回のような問
Re: (スコア:0)
まあWSHのスクリプトがウイルス対策ソフトに削除されて実質使い物にならないようになっちゃったからね。
同じ失敗を繰り返すわけにはいかんでしょ
Re: (スコア:0)
自動ダウンロード有効なWebブラウザで流し込まれたら結構ヤバイ。
気づいた時や知らないうちにはすでにダウンロード済みで、消そうとしたり別のファイルをダウンロードして開こうとフォルダを見た瞬間アウトだからねぇ。
Re: (スコア:0)
windowsにも似たような問題があったがまあスラドユーザーレベルならコマンドをカタカタやっておしまいだろう。
Re: (スコア:0)
これは○○用のだから××上で見る分には大丈夫だろう、を完全にあざ笑う方法ですよね。
警戒したら徒になるとかシャレにならん。。
Re: (スコア:0)
えらくスカスカな長文だな…
Re: (スコア:0)
この程度で長文って…
何文字までなら読めるのよ
Re: (スコア:0)
本来はウィンドウズ用のファイルと使ってwindows用のコードを使ってLinuxを攻撃できるという話です。
ウィンドウズ相手には無効なはずです。
非常にお手軽で危険ですね。見る人が見ればすぐに見破れる攻撃ではあるが。
WINEてVBScriptが動くのか (スコア:0)
そっちにびっくりした。
wine や Nautilus ってそんなに使うもんかね。 (スコア:0)
wine を入れると山ほどの 32bit ライブラリがインストールされるし、gnome3 のアクティビティにアイコンが散らばるしで、インストールしたくないんだよな。Nautilus の方は、端末開いて ls 打つ方が楽だよ。
オフトピ:部門名 (スコア:0)
英語で "bad taste" ってだけ言うと普通は
「悪趣味」とか「趣味が悪い/品が無い/下劣な趣味」みたいな方だよね。勿論「不味い」の意味もあるけど、ちょっとなんか違う気が。
Re: (スコア:0)
まずあじ派はかしこいな
Re: (スコア:0)
元サイトに、
> I name this vulnerability Bad Taste. Its logo is a color-shifted logo of Wine
とあるので、元々からして、不味いワインっていうのと、Linux上でVBScriptを動かすなんてなんという趣味の悪い冗談!っていうので言葉遊びになってるんじゃないですかね?