アーカイブ
Windows 2000 ShellExecute() API Let Applications to Cause Buffer Overflow
2003年7月3日 | 注意喚起
SNS Advisory No.65
Problem first discovered on: 5 Dec 2002
Published on: 3 Jul 2003
概要
Windows 2000のShellExecute() APIには、Buffer Overflowを発生させてしまう問題があります。
問題
ShellExecute() Windows APIは、ファイルの関連付けをもとにプログラムを実行させるために使用することのできる関数です。
Windows 2000に実装されたShellExecute() APIの第3引数に長い文字列へのポインタが渡された場合、Buffer Overflowを発生させてしまう可能性があります。問題を発生させる文字列長はおよそ4000バイトです。
我々の調査では、Webブラウザ、MUA、テキストエディタなどを含むさまざまなアプリケーションがこの問題の影響を受けることが確認されています。
問題を確認したバージョン
Windows 2000 Professional 日本語版 + Windows 2000 Service Pack 3
SHELL32.DLL(バージョン 5.0.3502.6144)
対策
Windows 2000 Service Pack 4を適用することでこの問題を解消することができます。
http://www.microsoft.com/windows2000/downloads/servicepacks/sp4/default.asp
この問題に関するさらなる情報の公開をマイクロソフト社は検討中です。
発見者
新井 悠
新町 久幸
謝辞:
有限会社リムアーツ 乗松知博氏
Security Response Team of Microsoft Asia Limited