Mozilla Foundation セキュリティアドバイザリ 2005-41
- タイトル
- DOM プロパティの上書きを通じた特権の昇格
- 重要度
- 最高
- 報告者
- moz_bug_r_a4
- 影響を受ける製品
- Firefox
- Mozilla Suite
- 修正済みのバージョン
- Firefox 1.0.3
- Mozilla Suite 1.7.7
概要
リンクをクリックしたり、コンテキストメニューを開くといった、ごく普通のアクションをユーザが行うだけで、攻撃者が悪質なコードをインストールしたり、データを盗み取ることが可能ないくつかの脆弱性が moz_bug_r_a4 氏によって報告されました。いずれの場合にも共通の原因は、コンテンツウィンドウから DOM ノードが過度に信頼されていた、特権付き UI コード (クローム) でした。Web ページ内のスクリプトが、一連の手順を通じて実際の潜在的な値を得られない限り、DOM ノードのプロパティやメソッドを上書きし、ネイティブの値を隠してしまうことが可能です。
また、たいていの拡張機能も、ごく普通の、しかし安全ではない方法でコンテンツの DOM と接触していることが分かりました。変更が行われたため、普通の DOM コーディングスタイルを使っているクロームコードでは、ネイティブの DOM の値が存在した場合、扱いづらいラッパーオブジェクトを使わなくても、自動的にその値が用いられることになりました。
具体的な悪用例の多くは、特権付きコードをだまして eval() 関数に攻撃者が用意したスクリプト文字列を呼び出させたり、スクリプトオブジェクトを使って同様のことを行うものです。セキュリティマネージャにチェック機構が追加されたため、eval() 関数やスクリプトオブジェクトは、それらを呼び出すコンテキストの潜在的により高度な特権ではなく、それらを生成したコンテキストの特権で実行されるようになりました。
回避策
- JavaScript を無効にしてください。
参考資料
- https://bugzilla.mozilla.org/show_bug.cgi?id=289074
- https://bugzilla.mozilla.org/show_bug.cgi?id=289083
- https://bugzilla.mozilla.org/show_bug.cgi?id=289961