前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2019-12592:印象笔记Chrome扩展漏洞分析

CVE-2019-12592:印象笔记Chrome扩展漏洞分析

原创
作者头像
迅达集团
修改2019-06-26 18:56:33
9720
修改2019-06-26 18:56:33
举报
文章被收录于专栏:工作专用1

Guardio研究人员发现了Evernote Web Clipper(印象笔记·剪藏)Chrome扩展存在逻辑编码错误漏洞,攻击者利用这些漏洞可以打破隔离机制并以用户的名义执行代码,并对非Evernote域名授予用户敏感信息的访问权限。财务信息、社交媒体、个人邮件等都是攻击的目标。该XSS漏洞CVE编号为CVE-2019-12592

背景

大多数互联网用户并不下载可执行文件或安装专门的软件。除了社交账号、商城和金融数据外,浏览器内直接也能提供一些扩展类的工具,来完成类似的功能。但这对app作者带来了挑战。一些工具需要额外的访问权限来更好地执行任务,比较好的解决方案就是创建一个浏览器扩展。App作者的意图是提供更好的用户体验,扩展一般拥有访问一些敏感资源的权限,也比传统的网站安全风险要更高一些。

研究人员分析发现了Evernote Web Clipper(印象笔记·剪藏)chrome扩展的漏洞。因为Evernote用户基数庞大,因此该漏洞影响的用户数预计超过470万。 与其他扩展漏洞不同的是,该漏洞直接影响第三方服务,而且并不仅限于个人的Evernote账号。

PoC

为了模拟攻击者如何利用该漏洞,Guardio研究人员设计了一个PoC来从潜在受害者处窃取隐私数据。通过将这些步骤串起来,很容易就可以进行攻击。 PoC步骤:

  • 用户被导航到攻击者的恶意站点(通过社交媒体、邮件、被黑的博客评论等);
  • 恶意站点加载目标站点中隐藏的、合法的iframe tag;
  • 漏洞利用是由恶意网站触发的,会导致Evernote的内部基础设施注入攻击者控制的payload到iframe环境。
  • 注入的payload是为每个目标网站定制的,可以窃取cookie、凭证、隐私隐私,还可以像用户一样执行动作。

漏洞细节

为了详细了解漏洞的情况,首先需要了解Evernote Web Clipper如何与网站和frame进行交互。 Evernote的代码注入链是从扩展的manifest (manifest.json)开始的,其中BrowserFrameLoader.js content脚本会被注入到所有页面和frame中。由于注入到frame的敏感性,只有这一个脚本使用了all_frames来减少攻击面。内容脚本的主要的主要目的是作为扩展的C2服务器来加载其他必需的代码到页面中。

对通信信道来说,脚本使用通过postMessage API的Windows消息机制(Windows Messaging)。作为一个小的注入器脚本,它只对少量的消息类型提供handler,其中一个就是installAndSerializeAll命令来注入到第二阶段FrameSerializer.js和执行序列化。该机制使用了一种弱认证方案,这种弱认证方案并不存在漏洞,但这是漏洞利用链的重要一步,因为运行在web沙箱环境中的脚本会触发命令。消息处理器(message handler)的参数作为命令请求消息的payload域。

最后,因为提供有效URL给扩展域名(chrome-extension://...)的_getBundleUrl函数中的逻辑检查和输入检查不当,研究人员发现URL的第一部分可以被handler的resourcePath输入参数进行操作。

黑客利用漏洞利用可以加载黑客远程控制的脚本到其他网站环境,只需要一个交单的window.postMessage命令即可。通过滥用Evernote的注入基础设施,恶意脚本会绕过同源策略的限制,注入到页面的所有目标frame中。

这提供了一个通用XSS注入到黑客控制的网站的所有frame的方法。

修复和建议

Evernote已经发布了补丁和新版本。用户可以复制chrome://extensions/?id=pioclpoplcdbaefihamjohnefbikjilc到Chrome扩展页来检查是否是最新版本,并确保版本号大于7.1.1。

  https://guard.io/blog/evernote-universal-xss-vulnerability

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • PoC
  • 漏洞细节
  • 修复和建议
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档