BT

重大なREXML DoSの検出 - 修正としてMonkey Patchが利用可能

| 作者: Werner Schuster フォローする 6 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年8月29日. 推定読書時間: 1 分 |

XMLエンティティは、REXMLにおける新しいDoS脆弱性(リンク)の原因である。再帰的にネストされたエンティティを定義し、使用するドキュメントは、こうしたエンティティの過剰な拡張を招き、最終的にはアプリケーションを停止させる。

特にRailsは、その問題に対して弱い。着信XML要求の解析にREXMLを使用するからである。これはデフォルトで発生し、要求のドキュメントタイプ に依存しているので、ユーザによって提供されたXMLを自動的に処理する機能を使用不可にしない限りは、この脆弱性はすべてのRailsアプリケーション にとって危機となる。

今の段階では、1.8.6-p287、1.8.7-p72までのすべてのRubyバージョンおよびすべてのRuby 1.9.xで問題となる。提供されたサンプルXMLドキュメントの解析など、現在のJRuby 1.1.xのリリースでの試行もまた、結局OutOfMemoryErrorになる。(注:エンティティが拡張する場合にのみ、問題が発生する。つまり単に解析をするだけでは、問題にならない。エンティティを含んでいるテキストノードは、発生する問題でアクセスする必要がある)。

REXMLの修正が利用可能になるまでは、修正はmonkey patchとしてREXMLのドキュメントおよびエンティティクラスへ提供される。パッチは基本的に、拡張済みのエンティティ数を制限し(限度は構成可能)、その限界を越えると例外を投げる。

この脆弱性のセキュリティ勧告ページには、さまざまなバージョンのRailsを確実にロードするためには、どこにパッチを置くべきかを示した解説が記載されている(リンク)

原文はこちらです:http://www.infoq.com/news/2008/08/rexml-entity-explosion-dos-fix

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT