大きなエスケープ シーケンスを送信すると CPU 使用率が 100% になる

この記事は、以前は次の ID で公開されていました: JP254142
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
Internet Information Server 4.0 または Internet Information Services 5.0 を実行しているコンピュータに対して、大きのエスケープ シーケンス 文字を送信すると、そのリクエストを処理している間、コンピュータの CPU 使用率が 100% になることがあります。 この間、サーバーはほかの要求に応答できなくなる可能性があります。
原因
この問題は、Str::unescape がリクエスト文字列に含まれるエスケープ文字を解析する際、一度に 1 文字を処理し、そのたびにデータ全体をシフトしてから、再びリクエスト文字列の先頭から処理を開始する、という方法によっているために発生します。 これにはかなりの CPU 使用量が必要となり、サーバーによるほかのリクエストの処理が中断される可能性があります。
解決方法

Internet Information Services 5.0 (Windows 2000)

この問題を解決するためのモジュールは、Windows 2000 日本語版 Service Pack 1 以降に含まれております。Windows 2000 日本語版の最新サービスパックについては、次 Web サイトから入手できます。
260910 最新の Windows 2000 Service Pack の入手方法

Internet Information Server 4.0 (Windows NT 4.0)

次のサイトへ行き、下記の名前をクリックするとダウンロードできます。
http://www.microsoft.com/downloads/release.asp?ReleaseID=20315

AT互換機用
Escseq4i.exe

NEC 98用
Escseq4a.exe


状況
弊社ではこの問題を、この資料の冒頭に記載した Microsoft 製品の問題として認識しております。
詳細
この修正ファイルをインストールすると、Str::unescape 関数によるリクエスト文字列全体にわたる処理は一度だけになります。

関連情報については、次のアドレスのマイクロソフト セキュリティ情報にアクセスしてください。
詳細
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 254142 (最終更新日 2000-08-01) を基に作成したものです。

プロパティ

文書番号:254142 - 最終更新日: 01/10/2015 03:58:04 - リビジョン: 2.4

  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • kbnosurvey kbarchive kbhotfixserver win2000presp1fix kbqfe KB254142
フィードバック