漏洞详情: 使用 debug/monitor 控制台实用程序函数时,用户可以在调用特定函数时进入调试器,或在调用函数时进行监控。当调用这些实用程序函数中的任何一个时,设置调试断点的过程最终会导致页面上不同上下文之间共享数据。这使得在某个上下文运行的代码有可能访问和修改另一个上下文内的对象。 版本信息: - Chrome版本:测试于75.0.3770.142(稳定版)和77.0.3858.0(金丝雀版) - 操作系统:Windows 10 Pro,版本1903 重现案例: 1. 安装附加的扩展(由manifest.json和content_script.js组成)。这个扩展在这个情况下不会执行任何操作。如果你已安装了一个在http站点上运行内容脚本的扩展,你就不需要安装它。 2. 另一个附加文件(index.html)形成了一个简单的网站。下载此文件并将其放在一个目录中。 3. 在下载index.html文件的目录中,在终端运行以下命令: 4. 在浏览器中导航到以下位置: 5. 打开开发者控制台。在主线程的上下文中运行以下命令: 该函数包含以下代码: 6. 使用 JavaScript 上下文下拉菜单,切换到扩展程序上下文并运行以下命令: 这不应该被设置,因为这里的命令是在扩展程序的上下文中运行的。然而,该变量(在主线程上下文中设置)被设置并在控制台中打印出来。 CVE标识: CVE-2019-13711