| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
Opera Web浏览器样式表属性缓冲区溢出漏洞
Opera Web浏览器样式表属性缓冲区溢出漏洞
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-26 14:54:36
2006-4-18

         受影响系统:

  Opera Software Opera <= 8.52

  不受影响系统:

  Opera Software Opera 9.0

  Opera Software Opera 8.54

  描述:

  BUGTRAQ ID: 17513

  Opera是一款流行的WEB浏览器,支持多种平台。

  Opera实现上存在有符号型变量处理漏洞,远程攻击者可能利用此漏洞导致客户机上的Opera程序崩溃。

  Opera在wcsncpy调用中存在有符号型变量比较错误,攻击者可以覆盖目标缓冲区后的大量内存,导致Opera崩溃。但很难利用这个漏洞执行任意代码,因为尽管拷贝了大量的内存,但只有很少的部分是可控的。

  攻击者可以通过在样式表属性中指定超长的值来触发这个漏洞。以下是有漏洞函数的反汇编。请注意如果arg_length > 0x7FFFFFFF的话,就可以绕过在0x67B8CF0D的有符号型比较。

  .text:67B8CEFE ; int __stdcall POC_CALL_TO_WCSNCPY_67B8CEFE(wchar_t *,int)

  .text:67B8CEFE POC_CALL_TO_WCSNCPY_67B8CEFE proc near ; CODE XREF:

  sub_67B4DB72+9D6p

  .text:67B8CEFE ;

  _POC_CALL_WSCNCPY_67B8AE6E+1B4p

  .text:67B8CEFE

  .text:67B8CEFE arg_pbuf_src= dword ptr 4

  .text:67B8CEFE arg_length= dword ptr 8

  .text:67B8CEFE

  .text:67B8CEFE mov eax, POC_pbuf_target

  .text:67B8CF03 push ebx

  .text:67B8CF04 push esi

  .text:67B8CF05 push edi

  .text:67B8CF06 mov edi, [esp+0Ch+arg_length]

  .text:67B8CF0A mov esi, [eax+40h]

  .text:67B8CF0D cmp edi, 4096

  .text:67B8CF13 mov ebx, ecx

  .text:67B8CF15 jl short loc_67B8CF1C ; signedness error

  .text:67B8CF17 mov edi, 4095

  .text:67B8CF1C

  .text:67B8CF1C loc_67B8CF1C: ; CODE XREF:

  POC_CALL_TO_WCSNCPY_67B8CEFE+17j

  .text:67B8CF1C push edi ; size_t

  .text:67B8CF1D push [esp+10h+arg_pbuf_src] ; wchar_t *

  .text:67B8CF21 push esi ; wchar_t *

  .text:67B8CF22 call _wcsncpy

  .text:67B8CF27 and word ptr [esi+edi*2], 0

  .text:67B8CF2C add esp, 0Ch

  .text:67B8CF2F mov ecx, ebx

  .text:67B8CF31 push esi ; wchar_t *

  .text:67B8CF32 call sub_67B8CD10

  .text:67B8CF37 test ax, ax

  .text:67B8CF3A jge short loc_67B8CF48

  .text:67B8CF3C mov ecx, [ebx+5D0h]

  .text:67B8CF42 call sub_67B8C7BC

  .text:67B8CF47 inc eax

  .text:67B8CF48

  .text:67B8CF48 loc_67B8CF48: ; CODE XREF:

  POC_CALL_TO_WCSNCPY_67B8CEFE+3Cj

  .text:67B8CF48 pop edi

  .text:67B8CF49 pop esi

  .text:67B8CF4A pop ebx

  .text:67B8CF4B retn 8

  .text:67B8CF4B POC_CALL_TO_WCSNCPY_67B8CEFE endp

  尽管传送2GB的字符串看起来是不可能的,但由于在调用函数中的另一个漏洞,只需注入32k字符串就可扩展为很大的负值。

  .text:67B8AF62 loc_67B8AF62: ; CODE XREF:

  _POC_CALL_WSCNCPY_67B8AE6E+E2j

  .text:67B8AF62 movsx eax, [ebp+var_length_ovfl] ; here

  the error occurs: short int length is sign extended

  .text:67B8AF62 ; to a long

  integer. the result is a large negative value if length

  .text:67B8AF62 ; is negative.

  .text:67B8AF66 jmp short loc_67B8AF5D

  <*来源:Bernhard Mueller (research@sec-consult.com

  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=114496077017673&w=2

  *>

  建议:

  厂商补丁:

  Opera Software

  目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

  http://www.opera.com

新闻录入:admin    责任编辑:admin 
  • 上一篇新闻:

  • 下一篇新闻:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    Apache Mod_Auth_Kerb单
    AT-TFTP Server超长文件
    GNU Tar GNUTYPE_NAMES远
    OpenSSL PKCS填充伪造RS
    OpenSSL公钥处理拒绝服务
    OpenSSL畸形ASN.1结构处
    OpenSSL SSL_get_shared
    Perl格式串处理整数溢出
    Telnet-FTP Server目录遍
    Adobe Reader/Acrobat A

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览