cve-2015-1794的补定号是多少

如题所述

微软公司于2015年4月14日的补丁日,修复了一个存在于 Windows http.sys中的整数溢出漏洞。该漏洞编号为CVE-2015-1635(MS15-034),可以导致远程代码执行或拒绝服务。该漏洞最先由美国思杰公司的安全团队报告。微软官方公告请见
https://technet.microsoft.com/enus/library/security/MS15-034
严重程度:
漏洞由于Windows协议驱动http.sys未对http请求中的Range字段进行合理检查造成,可以导致整数溢出。任意攻击者可以通过向有漏洞的服务器发送精心构造的数据,达到拒绝服务甚者远程执行命令的目的,利用成功后,攻击代码将与有漏洞的程序具有相同的系统权限。该漏洞为严重级别。
影响范围:
漏洞影响的主要是IIS服务器,其他使用http.sys的服务也受影响。任何安装有IIS 6.0以上版本的Windows Server 2008 R2/Windows Server 2012 /Windows Server 2012 R2以及Windows 7以上的系统都受到此漏洞影响。
安全建议:
1.尽快升级Windows系统补丁KB 3042553
2.其他缓解措施包括关闭IIS Kernel caching,具体可以参考https://technet.microsoft.com/en-us/library/cc731903(v=ws.10).aspx
3.趋势科技 服务器深度安全防护系统(Deep Security) 用户, 请更新规则到DSRU-1006620或更新, 以阻止针对该漏洞的攻击。
更多信息:
http.sys& Range Header
http.sys是为Windows系统提供http协议基础服务的驱动。它监听来自网络的http请求,并将这些请求传递给IIS处理,处理完成后,再将结果返回给客户端。它负责提供内核级别的缓冲、请求队列、请求预处理以及安全方面的过滤。内核缓冲(Kernel-caching)功能也正是存在漏洞的部分。
Range头用来在http请求中指定返回一部分资源。例如Range: bytes=500-999
漏洞成因
http.sys中的UlpParseRange没有对http请求中Range头的数值大小做合理限制,导致存在整数溢出的可能,当输入为18446744073709551615即十六进制的0xFFFFFFFFFFFFFFFF时,以下代码造成整数溢出

而在函数UlAdjustRangesToContentSize中,会对Range的长度进行合法性检查,若Range.Length + Range.Start大于HTTP请求文件的真实大小, Range.Lenth将会被修正为正确的合法长度。 如过上述代码片段造成Range.Length+Range.Start溢出,变成一个较小的值,从而可以绕过这段修正代码。而其他代码会直接引用这个超大数值,造成崩溃。
漏洞测试
用相关验证性代码对安装有IIS7的Windows 7 32bit系统进行测试,在发送数据包之后,目标系统崩溃。

其他信息
该漏洞如果成功利用还可能导致内存信息泄露甚者执行任意代码。
国外某地下交易网站日前新增针对该漏洞的利用,据称可以达到远程代码执行。
温馨提示:答案为网友推荐,仅供参考