首页 -> 安全研究

安全研究

安全漏洞
微软VB-TSQL调试器对象存在远程缓冲区溢出

发布日期:2001-03-30
更新日期:2001-03-30

受影响系统:

Microsoft Visual Studio 6.0企业版
描述:

随Microsoft Visual Studio 6.0一起发行的VB-TSQL调试器对象(vbsdicli.exe)是用来
在VB开发环境中交互式地调试用Microsoft SQL Server's Transact SQL dialect编写的远
程存储过程的。该对象的某个方法在处理参数时存在一个未经检查的缓冲区。这个DCOM组件默
认是可以由Everyone从远程编程访问的。如果某程序在引用该对象时使用特殊构造的数据作为
参数,就可以使该对象崩溃,或者在安装有该对象的目标机器上执行任意代码。

存在问题的方法是:
HRESULT NewSPID([in] long spid,
                [in] long pid,
                [in] BSTR lpctstrDbName,
                [in] short cbName,
                [out, retval] short* nReturn);
该函数未检查参数lpctstrDbName的长度就将其传递给sprintf( ),因此只要给它传递一个包
含大约128字符的数据库名字就可以覆盖堆栈帧。

该调试器对象默认是随Microsoft Visual Studio 6.0企业版一起安装的,并运行在交互登录
的用户的上下文中。只有当攻击者知道某个用户安装了这个组件并且已经以交互方式登录,他
才能在此时发起成功的攻击。

<* 来源:tsabin (tsabin@razor.bindview.com)
         Microsoft Security Bulletin (MS01-019)
*>



建议:

临时解决办法:

NSFOCUS建议您设置注册表权限,禁止Everyone运行和访问该组件,只允许SYSTEM和
Adminstrator运行和访问:
HKEY_CLASSES_ROOT\Appid\{124765aa-7866-11cf-bf3b-00a0d10003fa}

或者删除该组件。

厂商补丁:

微软已经为此发布了一个安全公告(MS01-018)和相应的补丁.

微软安全公告(MS01-018):
http://www.microsoft.com/technet/security/bulletin/MS01-018.asp

补丁下载:
(该补丁将包含在Visual Studio 6.0 Enterprise Edition Service Pack 6中):
Microsoft Visual Studio 6.0 Enterprise Edition:
http://msdn.microsoft.com/vstudio/downloads/debugging/default.asp



浏览次数:3883
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障