微软报告了一个 ChromeOS 远程内存损坏漏洞

微软方面近日公布了他们发现的有关 ChromeOS 漏洞的技术细节。公告指出,该公司在 ChromeOS 组件中发现了一个可以远程触发的内存损坏漏洞,允许攻击者执行拒绝服务 (DoS) 攻击,或者在极端情况下执行远程代码执行 (RCE)。

微软的一名研究人员在今年 4 月下旬向谷歌报告了该漏洞。谷歌将其分配为 CVE-2022-2587,CVSS 得分 9.8(程度归类为严重)并描述为越界写入,相关补丁已在 6 月发布。

ChromeOS 是一个使用 D-Bus 的操作系统。由于谷歌专有的强化措施,与 Windows 或 MacOS 相比,通常 ChromeOS 中被曝出的漏洞要更少。此次微软所发现的是 ChromeOS 特定的内存损坏漏洞。

根据介绍,该漏洞被发现于 ChromiumOS Audio Server (CRAS) 中;CRAS 位于操作系统和 ALSA 之间,用于将音频路由到新连接的支持音频的外围设备。此漏洞可以通过操纵音频元数据远程触发,攻击者可能会诱使用户满足这些条件,例如通过简单地在浏览器中或从配对的蓝牙设备播放一首新歌曲,或利用 adversary-in-the-middle (AiTM) 功能远程利用该漏洞。

微软报告了一个 ChromeOS 远程内存损坏漏洞

安全研究人员在检查一个名为 SetPlayerIdentity 的处理函数后发现,该处理函数调用了 C 库函数 strcpy。

“众所周知,strcpy 函数会导致各种内存损坏漏洞,因为它不执行任何边界检查,因此被认为是不安全的。由于在调用 strcpy 之前没有对用户提供的身份参数进行边界检查(除了 D-Bus 消息的默认消息长度限制),我们确信我们可以触发基于堆的缓冲区溢出,从而触发内存损坏漏洞。基于堆的缓冲区溢出可能是多个漏洞的原因,最臭名昭著的是通过各种手段导致任意代码执行。”

不过微软并没有发现任何该漏洞被利用的迹象。“基于堆的缓冲区溢出的影响范围从简单的 DoS 到成熟的 RCE。尽管可以通过媒体元数据操作来分配和释放块,但在这种情况下执行精确的堆清理并非易事,攻击者需要将漏洞与其他漏洞链接起来才能成功执行任意代码。考虑到漏洞的潜在影响,再加上它可以被远程触发,这是一个安全风险,证明了漏洞优先级和修复发布的速度是合理的。”

微软称赞了谷歌在报告后解决问题的速度,“我们对漏洞修复的速度和整个过程的有效性印象深刻。在不到一周的时间里,代码就被 commit 了,并在几次合并后普遍可供用户使用。我们感谢 Google 团队和 Chromium 社区为解决该问题所做的努力。”

展开阅读全文
发表评论

相关文章