これは正確ではありません。 object 要素の codebase 属性に任意のプログラムが指定できてしまうというのは既知の弱点で、 Force Feeding [ryukoku.ac.jp] (2000年6月)でも使われています。
Force Feeding のときは、別の弱点と組み合わせることで ActiveX も active scripting も無効な環境でも攻撃が成功してしまいましたが、今回の指摘も同様です。今回は The Pull 氏 [osioniusx.com]が active scripting が有効なら同じ弱点を突ける [rr.com]ことを示したことから発展して、 active scripting も無効でも同じ弱点を突けることを指摘しています。
問題なのは (スコア:5, 参考になる)
Force Feeding のときは、別の弱点と組み合わせることで ActiveX も active scripting も無効な環境でも攻撃が成功してしまいましたが、今回の指摘も同様です。今回は The Pull 氏 [osioniusx.com]が active scripting が有効なら同じ弱点を突ける [rr.com]ことを示したことから発展して、 active scripting も無効でも同じ弱点を突けることを指摘しています。
なお、今回の弱点について、セキュリティホール memo [ryukoku.ac.jp] にも出ています。
鵜呑みにしてみる?
Re:問題なのは (スコア:4, 参考になる)
まず、OBJECT要素のCODEBASE属性でコマンドを起動できるのは、仕様のようです。 ただし、それは、そのHTMLがローカルファイルである場合にだけです。 ローカルファイルに同様のHTMLを書いて開くと、現在でも再現します。(ローカルファイルのHTMLからコマンドを起動する方法は他にもあり、推測可能なパス名のファイルに任意のデータを置けてはならないというのは、Windowsの基本的なセキュリティ仕様です(これ以上は今は語れない…気づいた人もここではつっこまないで!)。)
「Force Feeding」の件の本質は、次の2点にあったようです。
ところで、 OBJECTのCODEBASEでは起動するコマンドに引数を渡せないのでたいした危険がない [2ch.net]とする説があるようですが、その点はどうでしょうか?
Re:問題なのは (スコア:1)
この動作が仕様だ、というのは、どこかに書かれているでしょうか。ご存知だったら教えてください。 「コマンドライン引数なしで起動できるプログラムはたいてい*対話型*のプログラムで、ユーザに何の確認もなしに危険な処理を行うことはないだろう」という意味ならそうかもしれません。もちろん可能なら回避策を施したほうが、安全とか快適という意味でよいと思いますが。
鵜呑みにしてみる?
回避方法 (スコア:2, 参考になる)
と思っていたら、フィルタが用意されていました [dti.ne.jp]。パッチが出るまで、IEを使う必要がある場合はこれを使うのが確実でしょう。
Re:回避方法 (スコア:2, 興味深い)
今回の弱点の発見者によるサンプルコードには CDATA セクションが使われていますが、このことは弱点とは関係がありません。 CDATA セクションを使わない例をここ [ryukoku.ac.jp]の最後に書いておきました。
Windows NT 系で使えると思われる回避法 [ryukoku.ac.jp]を示してみました。試すかたは自己責任で。
鵜呑みにしてみる?
Re:回避方法 (スコア:1)
セキュリティホール memo メーリングリスト [ryukoku.ac.jp]で教えていただきました。
鵜呑みにしてみる?
責任ある開示 (スコア:1)
セキュリティー・ソフトのベンダーにも連絡すると、脆弱性を利用したワームの出現に備えた定義ファイルを用意しておけますね。なるほどなるほど。
#既に常識なのかな?
Re:回避方法 (スコア:1)
ぽ