エンタープライズ:ニュース 2003/07/15 14:41:00 更新


Microsoft JET Database Engineにバッファオーバーフローの問題

Microsoft Accessなどに利用されているリレーショナルデータベースエンジン、「Microsoft JET Database Engine 4.0」のService Pack 6以前に、バッファオーバーフローの脆弱性が発見された。

 Microsoft Accessなどに利用されているリレーショナルデータベースエンジン、「Microsoft JET Database Engine 4.0」のService Pack 6以前に、バッファオーバーフローの脆弱性が発見された。セキュリティ研究者のセザール・セルッド(Cesar Cerrudo)氏がFull-Disclosureメーリングリストに報告したもの。

 この脆弱性はMicrosoft JET Database Engine 4.0 SP6以前に存在する。276文字以上の長いファンクション名を持つSQLクエリが実行された場合に、バッファオーバーフローが発生してしまうという。この結果、SQLステートメント中のVBA(Visual Basic for Applications)ファンクションやSQLアグリゲーテッドファンクションが実行されてしまうおそれがある。

 この問題は直接的には、Microsoft AccessやMicrosoft Visual Basicを用いて開発されたカスタムアプリケーションに影響を与える。ただし、JET Database EngineはMicrosoft SQL Serverのほか、ODBC経由で他のデータベースサーバにアクセスすることも可能だ。したがってこの問題は、MSDE(Microsoft Database Engine)や同エンジンを用いているアプリケーション、Microsoft SQL Server 2000/SQL Server 7にも影響を与えるという。

 例えばSQL Serverでは、JET 4.0 OLE DB providerを通じてリモートアクセスを許可できるが、ここで長いファンクション名を持つクエリを投げると同じくバッファオーバーフローが発生し、SQL Server上で任意のコードを実行されてしまう可能性がある。ただし最新のSQL Serverでは、デフォルトではJET 4.0 OLE DB providerは停止されている。

 この問題は、Microsoftより提供済みのMicrosoft Jet 4.0 Service Pack 7を適用することで解決できる。これはWindows Updateより入手可能だ。

関連記事
▼セキュリティアラートへ

関連リンク
▼Cesar Cerrudo氏の投稿(Microsoft JET Database Engine 4.0 buffer overflow)
▼マイクロソフト サポート技術情報 - 282010:[ACC2002] ダウンロードセンターで入手可能な Microsoft Jet 4.0 のアップデート バージョン

[ITmedia]