Microsoft Windows SChannel单字节堆溢出漏洞(MS07-031)

admin 2022-07-23 03:28:17 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Microsoft Windows SChannel单字节堆溢出漏洞(MS07-031)

  • CNNVD编号:CNNVD-200706-195
  • 危害等级: 高危
  • CVE编号: CVE-2007-2218
  • 漏洞类型: 设计错误
  • 发布时间: 2007-06-12
  • 威胁类型: 远程
  • 更新时间: 2007-06-13
  • 厂        商: microsoft
  • 漏洞来源: Thomas Lim※ thomas...

漏洞简介

Microsoft Windows是美国微软(Microsoft)公司发布的一系列操作系统。

Windows的安全通道(SChannel)库在实现客户端SSLv3握手协议时存在单字节堆溢出漏洞,远程攻击者可能利用此漏洞控制服务器或造成拒绝服务。

具体来讲,在处理服务器密钥交换SSL握手记录时没有充分地检查长度字段设置为0的畸形服务器端数字签名,导致在有效的堆地址上分配0长度的堆缓冲区,然后执行的逆向内存拷贝将0长度减1拷贝数字签名,这会触发整数下溢,导致堆缓冲区指针退到起始地址之前,最终导致将1字节的用户控制值覆盖到堆控制块。

漏洞代码位于_ReverseMemCopy()函数中,可从Ssl3ParseServerKeyExchange()通过SPProcessHandshake()->PkcsGenerateClientExchangeValue()访问:

; On WinXP-SP1, the code below is located at 0x767FF976 (no symbols

available)

Ssl3ParseServerKeyExchange()

...

.text:767FFFC8 movzx ebx, byte ptr [esi] ;

MSB-byte of malformed signature length field

.text:767FFFCB movzx eax, byte ptr [esi+1] ;

LSB-byte of malformed signature length field

.text:767FFFCF shl ebx, 8

.text:767FFFD2 add ebx, eax

.text:767FFFD4 push ebx ; size=0

.text:767FFFD5 call _SPExternalAlloc@4 ; HeapAlloc will return a valid 0-length heap buffer address

.text:767FFFDA test eax, eax

.text:767FFFDC mov [ebp+pbSignature], eax

.text:767FFFDF jz loc_768000B9

.text:767FFFE5 push ebx ; size=0

.text:767FFFE6 lea ecx, [esi+2] ;

address of the signature data in our malformed record

;

containing 0xFF,0x41,0x41...

.text:767FFFE9 push ecx

.text:767FFFEA push eax ;

0-length heap buffer

.text:767FFFEB call _ReverseMemCopy@12

_ReverseMemCopy()

.text:767FF46F mov edi, edi

.text:767FF471 push ebp

.text:767FF472 mov ebp, esp

.text:767FF474 mov eax, [ebp+arg_8]

.text:767FF477 mov ecx, [ebp+arg_4]

.text:767FF47A push esi

.text:767FF47B mov esi, [ebp+arg_0]

.text:767FF47E lea eax, [esi+eax-1]

; EAX=0, ESI which points to 0-length heap buffer

; is decremented to, before start of heap buffer

.text:767FF482 mov dl, [ecx]

.text:767FF484 mov [eax], dl

; Off-by-one overwrite with 0xFF from our signature data

.text:767FF486 dec eax

.text:767FF487 inc ecx

.text:767FF488 cmp eax, esi

.text:767FF48A jnb short loc_767FF482

; Just one-byte overwrite!

.text:767FF48C pop esi

.text:767FF48D pop ebp

.text:767FF48E retn 0Ch

如果用户使用Internet Web浏览器查看特制网页或使用利用SSL/TLS的应用程序,则此漏洞可能允许远程执行代码。 但是,利用此漏洞的尝试最有可能导致Internet Web浏览器或应用程序退出。重新启动系统之前,系统不能使用SSL或TLS连接到网站或资源。

漏洞公告

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:

Microsoft

---------

Microsoft已经为此发布了一个安全公告(MS07-031)以及相应补丁:

MS07-031:Vulnerability in the Windows Schannel Security Package Could Allow Remote Code Execution (935840)

链接:

http://www.microsoft.com/technet/security/Bulletin/ms07-031.mspx?pf=true

参考网址

来源: US-CERT

名称: TA07-163A

链接:http://www.us-cert.gov/cas/techalerts/TA07-163A.HTML

来源: US-CERT

名称: VU#810073

链接:http://www.kb.cert.org/vuls/id/810073

来源: MS

名称: MS07-031

链接:http://www.microsoft.com/technet/security/bulletin/ms07-031.mspx

来源: SECTRACK

名称: 1018226

链接:http://www.securitytracker.com/id?1018226

来源: BID

名称: 24416

链接:http://www.securityfocus.com/bid/24416

来源: HP

名称: SSRT071438

链接:http://www.securityfocus.com/archive/1/archive/1/471947/100/0/threaded

来源: VUPEN

名称: ADV-2007-2151

链接:http://www.frsirt.com/english/advisories/2007/2151

来源: SECUNIA

名称: 25620

链接:http://secunia.com/advisories/25620

来源: US Government Resource: oval:org.mitre.oval:def:1895

名称: oval:org.mitre.oval:def:1895

链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:1895

受影响实体

  • Microsoft Windows_xp:Sp2  
  • Microsoft Windows_2003_server:Sp1  
  • Microsoft Windows_2003_server:Sp2  
  • Microsoft Windows_2000:Sp4  

补丁

    暂无

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0