| トップ |
先日来皆様にご心配ご迷惑をおかけしておりましたSage++の脆弱性情報の件ですが、本日、本家Sageプロジェクトより、当該脆弱性が修正されたと思われるバージョン1.3.10がリリースされました。これを受けて当ひまグで公開していた「Sage++ (Higmmer's Edition)」につきましても、公式版における修正内容を反映したバージョン1.3.10を本日リリースさせて頂きます(*)。Sage及びSage++に未知の脆弱性があるとの情報を受けて公開停止しました。(2/10追記) →2007/7/2より公開再開しています。
インストール作業が終わったら、念のためオプションパネルを開いてHTMLフィルタ方式の設定が以下の画像のようになっていることを確認して下さい。
HTMLフィルタ方式の「高速」が無効となり、「詳細」が選択されている
尚、こちらで調査した結果、今回修正された脆弱性はSage++ 1.3.9においてはHTMLフィルタ方式が「高速」の場合にのみ発生し、「詳細」の場合は影響を受けないことを確認しております。
今回のバージョンで更新された内容は以下の通りです。
- 公式版 Sage 1.3.10での脆弱性対策を反映 [→リリースノート]
(関連情報)- 高速HTMLフィルタモードを使用不能にした
- ツールメニューに「新しいタブを常に前面に開く」を追加
今回の更新では公式版Sage 1.3.10で行われた脆弱性対策(高速HTMLフィルタの修正)コードを一応マージしてありますが、同時に高速HTMLフィルタモードを使用不能にしたため、実際には意味を持たない修正となっております。従来のSage++で詳細HTMLフィルタモードを使用されていた場合は実動作上の違いはありません。但し、誤って高速HTMLフィルタモードに設定してしまうことを防止するために、Sage++ユーザーの方はできるだけ速やかに1.3.10にバージョンアップされることを推奨します。
この度は、私の軽率な行動によりSage及びSage++ユーザーの皆様、脆弱性の第一発見者及びJPCERT/CCの関係者の方々、並びに多くの皆様にご心配ご迷惑をおかけしてしまいましたことにつきまして、ここに改めてお詫び申し上げます。
拙作の「Sage++ (Higmmer's Edition)」1.3.9以前では「高速」「詳細」の2種類のHTMLフィルタを搭載していますした(下線部追記)。両者の違いについてこちらのページでは以下のように説明しています。
ブラックリスト方式かホワイトリスト方式か、或いはカスタマイズ可能か否か、というのも確かに相違点ではあるのですが、技術的に見た場合に両者が根本的に異なっている要素があります。それは、テキストベースのフィルタか、DOMベースのフィルタかということです。その観点から見た場合、両者の動作は次のように説明できます。
これで詳細HTMLフィルタが遅い理由が分かって頂けたと思います(*)。
一見するとテキストベースの正規表現に基づく方式の方がシンプルに書けて動作速度上も有利なように思えますが、そこに大きな落とし穴があります。それは「正規表現で書かれた構文解析器と、ブラウザに内蔵されている構文解析器の動作は同じではない」ということです。便宜上、正規表現で書かれた構文解析器を「オレ構文解析器」と呼ぶことにします。
| トップ |