CVE-2001-0542
CVSS7.5
发布时间 :2001-12-20 00:00:00
修订时间 :2016-10-17 22:11:26
NMCOS    

[原文]Buffer overflows in Microsoft SQL Server 7.0 and 2000 allow attackers with access to SQL Server to execute arbitrary code through the functions (1) raiserror, (2) formatmessage, or (3) xp_sprintf. NOTE: the C runtime format string vulnerability reported in MS01-060 is identified by CVE-2001-0879.


[CNNVD]Microsoft SQL Server RAISERROR语句缓冲区溢出漏洞(MS01-060)(CNNVD-200112-115)

        
        Microsoft SQL Server是Microsoft公司开发的Windows平台下的SQL服务器。
        Microsoft SQL Server存在多个溢出漏洞,可以使攻击者通过构造特殊的SQL请求在服务器上以服务器程序进程的权限执行代码或者使服务器程序崩溃。
        在SQL Server 7.0/2000以及MSDE中提供的RAISERROR语句,发现存在一个缓冲溢出问题。
        RAISERROR提供了返回用户定义错误及将@@error变量设置成用户定义错误号的能力。错误消息可以被动态地建立,或者基于错误号从"sysmessages"表中检索到。一旦出现了错误,错误就会以一种服务器错误消息的方式返回到客户机。RAISERROR的语法:
        RAISERROR (msg_id | msg_str, severity, state
        [, argument ][,…n]])
        [WITH options]
        Msg_id指明用户定义消息的id,该消息存储在"sysmessages"系统表中。
        Msg_str用于动态创建消息的消息字符串。这与C语言中的"printf"非常相似。
        Severity定义用户赋值的错误消息严重程度。
        State是从1到127的任意整数值,它表示错误的调用状态信息。负数的state值将缺省为1。
        OPTIONS指明错误的定制选项。OPTIONS的有效值如下:
        1) LOG。
        将错误记录到服务器错误日志和NT事件日志中。该选项需要消息带有从19到25的严重程度。而只有系统管理员才能发出这种消息。
        2) NOWAIT。
        将消息立即发送到客户端服务器。
        3) SETERROR。
        不管其严重级别如何,将@@error的值设置为msg_id或5000。
        当传递给RAISERROR一个相当长的参数时会触发一个溢出,可能导致入侵者获得local system权限。
        

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: [--]
完整性影响: [--]
可用性影响: [--]
攻击复杂度: [--]
攻击向量: [--]
身份认证: [--]

- CPE (受影响的平台与产品)

cpe:/a:microsoft:sql_server:2000Microsoft SQL Server 2000
cpe:/a:microsoft:sql_server:7.0Microsoft SQLServer 7.0

- OVAL (用于检测的技术细节)

oval:org.mitre.oval:def:83Microsoft SQL Server 3-Function Buffer Overflow
*OVAL详细的描述了检测该漏洞的方法,你可以从相关的OVAL定义中找到更多检测该漏洞的技术细节。

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-0542
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2001-0542
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200112-115
(官方数据源) CNNVD

- 其它链接及资源

http://marc.info/?l=bugtraq&m=100891252317406&w=2
(UNKNOWN)  BUGTRAQ  20011221 @stake advisory: Multiple overflow and format string vulnerabilities in in Microsoft SQL Server
http://www.atstake.com/research/advisories/2001/a122001-1.txt
(VENDOR_ADVISORY)  ATSTAKE  A122001-1
http://www.kb.cert.org/vuls/id/700575
(UNKNOWN)  CERT-VN  VU#700575
http://www.microsoft.com/technet/security/bulletin/MS01-060.asp
(VENDOR_ADVISORY)  MS  MS01-060
http://www.securityfocus.com/bid/3733
(VENDOR_ADVISORY)  BID  3733
http://xforce.iss.net/static/7724.php
(VENDOR_ADVISORY)  XF  mssql-text-message-bo(7724)

- 漏洞信息

Microsoft SQL Server RAISERROR语句缓冲区溢出漏洞(MS01-060)
高危 边界条件错误
2001-12-20 00:00:00 2006-09-01 00:00:00
远程  
        
        Microsoft SQL Server是Microsoft公司开发的Windows平台下的SQL服务器。
        Microsoft SQL Server存在多个溢出漏洞,可以使攻击者通过构造特殊的SQL请求在服务器上以服务器程序进程的权限执行代码或者使服务器程序崩溃。
        在SQL Server 7.0/2000以及MSDE中提供的RAISERROR语句,发现存在一个缓冲溢出问题。
        RAISERROR提供了返回用户定义错误及将@@error变量设置成用户定义错误号的能力。错误消息可以被动态地建立,或者基于错误号从"sysmessages"表中检索到。一旦出现了错误,错误就会以一种服务器错误消息的方式返回到客户机。RAISERROR的语法:
        RAISERROR (msg_id | msg_str, severity, state
        [, argument ][,…n]])
        [WITH options]
        Msg_id指明用户定义消息的id,该消息存储在"sysmessages"系统表中。
        Msg_str用于动态创建消息的消息字符串。这与C语言中的"printf"非常相似。
        Severity定义用户赋值的错误消息严重程度。
        State是从1到127的任意整数值,它表示错误的调用状态信息。负数的state值将缺省为1。
        OPTIONS指明错误的定制选项。OPTIONS的有效值如下:
        1) LOG。
        将错误记录到服务器错误日志和NT事件日志中。该选项需要消息带有从19到25的严重程度。而只有系统管理员才能发出这种消息。
        2) NOWAIT。
        将消息立即发送到客户端服务器。
        3) SETERROR。
        不管其严重级别如何,将@@error的值设置为msg_id或5000。
        当传递给RAISERROR一个相当长的参数时会触发一个溢出,可能导致入侵者获得local system权限。
        

- 公告与补丁

        临时解决方法:
        如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
        * 设备防火墙规则只允许可信的主机连接SQL服务器。
        * 如果有web应用程序连接SQL Server服务器,您需要确保Web应用程序中对用户输入做了有效的检查。
        厂商补丁:
        Microsoft
        ---------
        微软已经为此发布了一个安全公告(MS01-060)以及相应补丁程序:
        
        http://www.microsoft.com/technet/security/bulletin/MS01-060.asp

        补丁下载:
        SQL Server:
         . SQL Server 7.0:
        
        http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35066

         . SQL Server 2000:
        
        http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35067

        
        C 运行库:
         . Windows NT 4.0 and Windows 2000:
        
        http://www.microsoft.com/Downloads/Release.asp?ReleaseID=33500

         . Windows XP:
        
        http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35023

- 漏洞信息

10144
Microsoft SQL Server raiserror Function Overflow
Remote / Network Access Input Manipulation
Loss of Confidentiality, Loss of Integrity
Exploit Unknown

- 漏洞描述

A remote overflow exists in SQL Server. The SQL Server fails to properly check the length specifier and format string specifiers of the raiseerror function resulting in a memory overflow. With a specially crafted request, an attacker can cause the execution of arbitrary code resulting in a loss of confidentiality or integrity.

- 时间线

2001-12-20 Unknow
Unknow Unknow

- 解决方案

Currently, there are no known workarounds or upgrades to correct this issue. However, Microsoft has released a patch to address this vulnerability.

- 相关参考

- 漏洞作者

- 漏洞信息

Microsoft SQL-Server Buffer Overflow Vulnerability
Boundary Condition Error 3733
Yes No
2001-12-20 12:00:00 2009-07-11 09:06:00
Credited to Chris Anley of @Stake.

- 受影响的程序版本

Microsoft SQL Server 2000 SP1
- Microsoft Windows 2000 Professional SP2
- Microsoft Windows 2000 Professional SP1
- Microsoft Windows 2000 Professional
- Microsoft Windows NT 4.0 SP6a
- Microsoft Windows NT 4.0 SP6
- Microsoft Windows NT 4.0 SP5
Microsoft SQL Server 2000
- Microsoft Windows 2000 Professional SP2
- Microsoft Windows 2000 Professional SP1
- Microsoft Windows 2000 Professional
- Microsoft Windows NT 4.0 SP6a
- Microsoft Windows NT 4.0 SP6
- Microsoft Windows NT 4.0 SP5
- Microsoft Windows NT 4.0
Microsoft SQL Server 7.0 SP3 alpha
Microsoft SQL Server 7.0 SP3
- Microsoft SQL Server 7.0
- Microsoft SQL Server 7.0
Microsoft SQL Server 7.0 SP2 alpha
Microsoft SQL Server 7.0 SP2
- Microsoft SQL Server 7.0
- Microsoft SQL Server 7.0
Microsoft SQL Server 7.0 SP1 alpha
Microsoft SQL Server 7.0 SP1
- Microsoft SQL Server 7.0
- Microsoft SQL Server 7.0
Microsoft SQL Server 7.0 alpha
Microsoft SQL Server 7.0
- Microsoft BackOffice 4.5
- Microsoft BackOffice 4.5
- Microsoft Windows NT 4.0 SP6a
- Microsoft Windows NT 4.0 SP6a
- Microsoft Windows NT 4.0 SP6
- Microsoft Windows NT 4.0 SP6
- Microsoft Windows NT 4.0 SP5
- Microsoft Windows NT 4.0 SP5
- Microsoft Windows NT 4.0 SP4
- Microsoft Windows NT 4.0 SP4
- Microsoft Windows NT 4.0 SP3
- Microsoft Windows NT 4.0 SP3
- Microsoft Windows NT 4.0 SP2
- Microsoft Windows NT 4.0 SP2
- Microsoft Windows NT 4.0 SP1
- Microsoft Windows NT 4.0 SP1
- Microsoft Windows NT 4.0
- Microsoft Windows NT 4.0
Microsoft SQL Server 2000 SP2

- 不受影响的程序版本

Microsoft SQL Server 2000 SP2

- 漏洞讨论

Microsoft SQL Server contains buffer overflows in several built-in text formatting and printing functions.

This vulnerability makes it possible for an attacker to execute arbitrary code in the security context of the server process. An attacker can also exploit this vulnerability to crash the server.

- 漏洞利用

Currently the SecurityFocus staff are not aware of any exploits for this issue. If you feel we are in error or are aware of more recent information, please mail us at: vuldb@securityfocus.com <mailto:vuldb@securityfocus.com>.

- 解决方案

Fixes are available:


Microsoft SQL Server 2000

Microsoft SQL Server 7.0 SP3

Microsoft SQL Server 7.0 SP3 alpha

Microsoft SQL Server 2000 SP1

- 相关参考

 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站