Lucene search

K
seebugRootSSV:12090
HistoryAug 21, 2009 - 12:00 a.m.

Adobe Flex开发包index.template.html页面跨站脚本漏洞

2009-08-2100:00:00
Root
www.seebug.org
15

EPSS

0.004

Percentile

73.7%

CVE(CAN) ID: CVE-2009-1879

Adobe Flex是用于构建和维护Web应用程序的高效开放源码框架。

Flex没有正确地过滤用户提交给index.template.html页面的请求参数,通过window.location javascript对象所传送的URL参数之后被存储在了MMredirectURL变量中,并传送给了AC_FL_RunContent()函数。

59行:

.snip…
var MMredirectURL = window.location;
.snip…

63行:

AC_FL_RunContent(
…snip…
"FlashVars", "MMredirectURL=" MMredirectURL ‘&MMplayerType=’ MMPlayerType
‘&MMdoctitle=’ MMdoctitle "",
…snip…

带有用户可控输入的MMredirectURL变量传送给了AC_GetArgs,最终到达AC_Generateobj执行document.write。向HTML写入未经验证数据会导致跨站脚本攻击。

AC_OETags.js文件

200行:

function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

178行:

function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = ‘’;
if (isIE && isWin && !isOpera)
{
str = '<object ';
for (var i in objAttrs)
str = i ‘="’ objAttrs[i] '" ';
str = ‘>’;
for (var i in params)
str = ‘<param name="’ i ‘" value="’ params[i] '" /> ';
str = ‘</object>’;
} else {
str = '<embed ';
for (var i in embedAttrs)
str = i ‘="’ embedAttrs[i] '" ';
str = ‘> </embed>’;
}

document.write(str);

}

Adobe Flex <= 3.3 SDK
厂商补丁:

Adobe

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

http://kb2.adobe.com/cps/495/cpsid_49530.html


                                                http://FlexApp/Flex/index.template.html?&quot;/&gt;&lt;/object&gt;&lt;script&gt;alert('XSS')&lt;/script&gt;
                              

EPSS

0.004

Percentile

73.7%