谷歌发布了 Chrome 147 网络浏览器。与此同时,作为 Chrome 基础的免费 Chromium 项目也发布了稳定版本。 Chrome 浏览器与 Chromium 的不同之处在于,它使用 Google 徽标,具有在崩溃时发送通知的系统,具有播放受版权保护的视频内容(DRM)的模块,具有自动更新安装系统,始终启用沙盒隔离,向 Google API 提供密钥,并在搜索时传输 RLZ 参数。对于那些需要更多时间更新的用户,有一个单独的扩展稳定分支,支持 8 周。下一个版本 Chrome 148 计划于 5 月 XNUMX 日发布。
Chrome 147 版本的主要变更(1、2、3、4):
- 新增了垂直标签显示模式,将顶部水平标签栏替换为带有垂直标签的侧边栏。垂直标签可以展开(图标+部分描述)或折叠(仅图标)显示。将鼠标悬停在侧边标签上即可显示其内容缩略图。标签组的管理也得到了简化。右键单击标签行时,上下文菜单中新增了“垂直显示标签”选项。如果默认情况下未显示此选项,可以通过“chrome://flags/#vertical-tabs”设置启用它。
- 阅读模式经过重新设计,仅显示页面上的相关文本,隐藏所有相关控件、横幅、菜单、导航栏以及其他与内容无关的页面元素。在新版本中,与 Firefox 类似,相关内容会显示在整个可见区域,而不是像以前那样显示在页面旁边的狭窄侧边栏中。如果新模式默认未启用,可以通过“chrome://flags/#read-anything-immersive-reading-mode”设置启用。
- “帮助”菜单中新增了一个按钮,用于提交投诉以屏蔽用于欺诈或网络钓鱼目的的网页。启用“安全浏览”模式后,此按钮将显示。
- 增强了与公共网站交互时对本地系统访问的保护。网站对本地系统的访问 IP地址 本地网络(内网或内部地址)或环回接口 (127.0.0.0/8) 将需要用户确认。防护范围现在不仅涵盖通过 HTTP/HTTPS、fetch() 请求和 iframe 插入加载资源的尝试,还包括通过 WebSocket 和 WebTransport 建立的连接,以及通过 WindowClient.navigate() 方法发起的 fetch 请求。攻击者利用对内部资源的访问进行间接身份识别,并对路由器、接入点、打印机、企业 Web 界面以及其他仅接受来自本地网络请求的设备和服务发起 CSRF 攻击。
- XML解析功能已从libxml2迁移到一个用Rust编写的新库,该库在安全性方面进行了优化。此更改仅适用于XML;正如之前宣布的那样,XSLT支持即将弃用。
- 现在不仅可以对整个页面使用 startViewTransition() 方法,还可以对单个 HTML 元素使用该方法。
- 新增了 CSS 函数 contrast-color()。它会返回指定颜色的反色(例如,白色返回黑色,黑色返回白色)。此函数可用于将特定文本颜色与背景颜色匹配,反之亦然。
- 新增了 CSS 属性“border-shape”,允许您为元素创建非矩形边框,例如圆形或多边形边框。“border-shape”属性接受与“clip-path”属性相同的形状类型,但与后者不同的是,它会检测轮廓,解码轮廓,并裁剪超出轮廓的任何内容。
- 添加了 CSSPseudoElement 接口,允许从 JavaScript 中使用 CSS 伪元素。
- link 元素现在支持使用“rel=modulepreload”属性来预加载脚本以及带有 CSS 样式的模块( )和 JSON 数据( )。
- CSS 属性 `border-width`、`outline-width` 和 `column-rule-width` 中边框和轮廓宽度的计算方式已更改,使其与 Firefox 和基于 WebKit 内核的浏览器保持一致。此前,如果 `border-style`、`outline-style` 或 `column-rule-style` 属性设置为 `none` 或 `hidden`,则无论这些属性的值如何,其宽度都会被重置为零。现在,无论 `*-style` 属性的内容如何,`border-width`、`outline-width` 和 `column-rule-width` 的值始终与开发者定义的值相对应。
- 添加了 Math.sumPrecise() 方法,用于计算数组元素与其他可枚举对象的总和,其精度高于循环中正常求和的精度(消除了在其间存储结果时的精度损失)。
- 添加了 Request.isReloadNavigation 属性,用于检测页面何时重新加载,例如,在单击“刷新”按钮或调用 location.reload() 和 history.go(0) 方法之后。
- 为了降低间接识别的准确性,我们更改了通过设备内存 API 返回的内存大小(提供有关 RAM 大小的信息)的舍入逻辑。此信息可用于创建可在 RAM 有限的设备上加载的轻量级 Web 应用程序,或在可用内存充足时激活高级功能。在平台构建版本中 Android 内存大小现在四舍五入为 1、2、4 和 8,其他平台则四舍五入为 2、4、8、16 和 32。
- 对于独立 Web 应用程序 (IWA),我们实现了 Web 打印 API,它提供了用于确定打印机可用性、发送文档进行打印以及管理打印队列的方法。API 中使用的属性名称和语义与互联网打印协议 (IPP) 相对应。
- “Origin trials”模式实现了WebNN API,允许使用操作系统提供的机器学习服务和相关硬件功能。
- Web 开发工具已得到改进。内置的 AI 助手现在可以自动选择上下文。“设备模式”面板(用于测试网站在不同移动设备上的性能)已更新。“网络”面板现在可以自动解码带有 Content-Encoding: gzip 或 deflate 标头的请求中的压缩内容。现在可以使用正则表达式来过滤 CSS 样式。
除了新增功能和修复漏洞外,新版本还修复了 60 个漏洞。许多漏洞是通过使用 AddressSanitizer、MemorySanitizer、Control Flow Integrity、LibFuzzer 和 AFL 等工具进行自动化测试发现的。其中两个问题(WebML 中的缓冲区溢出和整数溢出)被评为严重级别,这意味着它们可以绕过所有浏览器保护层,并在沙箱环境之外执行代码。作为此次版本漏洞赏金计划的一部分,谷歌设立了 60 个奖励,并已发放总额为 118 美元的奖金(两个 43000 美元的奖励、两个 11000 美元的奖励,以及分别一个 4000 美元、一个 3000 美元、一个 2000 美元和一个 1000 美元的奖励)。其余 52 个奖励的金额尚未确定。
来源: opennet.ru
