CVE:CVE-2002-0649
CNNVD:CNNVD-200208-006
Microsoft SQL Server 2000是一款由Microsoft公司开发的商业性质大型数据库系统。
Microsoft SQL Server 2000的Resolution服务对用户提交的UDP包缺少正确的处理，远程攻击者可以利用这个漏洞进行基于堆的缓冲区溢出攻击。
Microsoft SQL Server 2000支持在单个物理主机上伺服多个SQL服务器的实例，每个实例操作需要通过单独的服务，不过多个实例不能全部使用标准SQL服务会话会话端口(TCP 1433)，所以SQL Server Resolution服务操作监听在UDP 1434端口，提供一种使客户端查询适当的网络末端用于特殊的SQL服务实例的途径。
当SQL Server Resolution服务在UDP 1434端口接收到第一个字节设置为0x08，接着为超长字符串，再追加":"符号和数字的UDP包时，会出现基于堆的缓冲区溢出，攻击者可以通过破坏堆结构而以自己提供的地址覆盖内存中的任意位置，可导致控制进程的执行，精心提交字符串数据可导致以SQL Server进程的权限在系统中执行任意指令。
solution:Upgrade microsoft data_engine to a higher version than 2000,and avoid the version 2000; Upgrade microsoft sql_server to a higher version than 2000,2000:sp1,2000:sp2,and avoid the version 2000,2000:sp1,2000:sp2