微软最近公布了他们发现ChromeOS漏洞的技术细节。公告称,该公司在ChromeOS组件中发现了一个可远程触发的内存损坏漏洞,允许攻击者执行拒绝服务(DoS)攻击,或者在极端情况下执行远程代码(RCE)。一位微软研究人员在今年4月下旬向谷歌报告了这个漏洞。谷歌为其分配了CVE-2022-2587,CVSS评分为9.8(归类为严重),并将其描述为越界写入,并于6月发布了补丁。ChromeOS是一个使用D-Bus的操作系统。由于Google专有的加固措施,ChromeOS中暴露的漏洞通常少于Windows或MacOS。微软此次发现的是一个ChromeOS特有的内存损坏漏洞。据介绍,该漏洞发现于ChromiumOSAudioServer(CRAS);CRAS位于操作系统和ALSA之间,用于将音频路由到新连接的支持音频的外围设备。该漏洞可以通过操纵音频元数据远程触发,攻击者可以诱使用户满足这些条件,例如,只需在浏览器中或从配对的蓝牙设备播放一首新歌,或者通过利用对手-中间(AiTM)函数远程利用此漏洞。在检查名为SetPlayerIdentity的处理程序后,安全研究人员发现该处理程序调用了C库函数strcpy。“已知strcpy函数会导致各种内存损坏漏洞,并且被认为是不安全的,因为它不执行任何边界检查。由于在调用strcpy之前没有对用户提供的身份参数进行边界检查(D-Bus消息默认消息长度除外)限制),我们确信我们可以触发基于堆的缓冲区溢出,从而导致内存损坏漏洞。基于堆的缓冲区溢出可能是导致多个漏洞的原因,其中最臭名昭著的是导致任意代码执行。”但是,微软没有看到任何迹象表明该漏洞已被利用。“基于堆的缓冲区溢出的影响范围从简单的DoS到成熟的RCE。虽然可以通过媒体元数据操作分配和释放块,但在这种情况下执行精确的堆清理并非易事,攻击者需要链接成功执行任意代码需要具有其他漏洞的漏洞。鉴于该漏洞的潜在影响,再加上它可以远程触发,这是一个安全风险,证明了漏洞的优先级和修复发布的速度。微软称赞谷歌在报告问题后解决问题的速度,“修复错误的速度和整个过程的有效性给我们留下了深刻的印象。”在不到一周的时间里,代码被提交并在几次合并后对用户普遍可用。我们感谢Google团队和Chromium社区为解决此问题所做的努力。“
