SEC Consult Vulnerability LabのBernhard Mueller氏は、SQL Server 2000/2005の拡張ストアド・プロシージャ「sp_replwritetovarbin」に脆弱性が存在し、SQL
Serverのプロセス権限で任意のコードが実行される危険性のあることを報告した。報告によれば、脆弱性はsp_replwritetovarbinがいくつかの変数を初期化しないことに起因するということだ。SQLインジェクションによって、この脆弱性が攻撃可能であるとしている。
・SEC Consult Security Advisory(Microsoft SQL Server sp_replwritetovarbin):
http://www.sec-consult.com/files/20081209_mssql-2000-sp_replwritetovarbin_memwrite.txt
すでにGuido Landi氏が、この脆弱性に対する実証コードを公開しており、攻撃の危険性が高まっている。
・milw0rm(Microsoft SQL Server "sp_replwritetovarbin()" Heap Overflow
):
http://www.milw0rm.com/exploits/7501
この脆弱性は、sp_replwritetovarbinを削除することで回避可能だ。管理者権限で、以下のコマンドを実行すればよい。
USE master;
GO
EXEC sp_dropextendedproc 'sp_replwritetovarbin'; |
SQL Server 2000/2005をWebサイトで利用している場合は、至急上記の対策を行った方がよい。ただし、sp_replwritetovarbinを利用するアプリケーションに不具合が生じる点には注意したい。
なおマイクロソフトは、2008年12月23日付けでこの脆弱性に対するセキュリティ・アドバイザリを発行している。セキュリティ・アドバイザリによると、現在、この脆弱性を調査中であり、調査終了後に修正プログラムをリリースする予定であるとしている。ただBernhard
Mueller氏は、2008年9月の時点でMicrosoftから「この脆弱性に対する修正プログラムは開発済みである」という報告メールを受け取ったと報告していることから、2009年1月の月例修正プログラムとしてリリースされる可能性が高いものと思われる。
・セキュリティ・アドバイザリ 961040(SQL Server の脆弱性により、リモートでコードが実行される):
http://www.microsoft.com/japan/technet/security/advisory/961040.mspx |