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 =...
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