| 不具合の内容 |
機能不全 |
| 情報ソース |
マイクロソフト |
| 情報公開日 |
2003/11/06 |
| MS Security# |
MS03-045 |
| MSKB# |
831739 |
| 対象環境 |
Windows 2000 SP2/SP3/SP4 |
マイクロソフトは、2003年10月16日に公開したTechNetセキュリティ情報:MS03-045(リストボックス/コンボボックス・コントロールの未チェック・バッファの脆弱性により、任意のコードが実行される可能性)の修正プログラムをWindows 2000 SP2/SP3/SP4の環境に適用すると、テキスト・ボックスに入力した文字が重複して表示される不具合が発生する可能性があるということを公表した。
原因は、修正プログラムの適用によって、テキスト・ボックスでのWM_CHARメッセージ(文字入力を通知するWindowsのイベント)の処理方法が変更されるためだとしている。このため修正プログラムの適用により、以前は使用していなかったWM_CHARメッセージのパラメータが使用されるようになり、このパラメータに正しい値(文字の繰り返し数)を指定していないアプリケーションで不具合が発生するとのことだ。
サポート技術情報によれば、典型的な例としては、Visual Basicのプログラムで、テキスト・ボックス・コントロールに対してWM_CHARメッセージを送信するときに、パラメータの指定個所で値渡し(ByVal)と参照渡し(ByRef)の指定を間違えている場合(正しくは値渡し)などにこの不具合が発生すると説明している。
原稿執筆時点において、この不具合を修正するプログラムは公開されていない。
■不具合の回避方法
英大文字を入力するために、Shiftキーを押しながらキー入力するときに当該不具合が発生する場合には、CapsLockキーを使うようにする。あるいは、別のアプリケーション(メモ帳など)を使ってテキスト・ボックスに入力したい文字を入力し、クリップボード経由でテキスト・ボックスに文字列をコピー&ペーストする。
|