DEVCORE 的安全研究员 Angelboy (@scwuaptx) 在微软的内核流媒体服务中发现了一个权限升级漏洞。该漏洞被追踪为 CVE-2024-30090,CVSS 得分为 7.0,攻击者可利用该漏洞在有漏洞的 Windows 系统上获得 SYSTEM 权限。
内核流是 Windows 用来有效处理来自网络摄像头、麦克风和其他音频设备等各种设备的数据流的框架。“Angelboy 解释说:”在 Windows 系统中,当我们打开网络摄像头、启用声音和激活麦克风等音频设备时,系统需要将相关数据(如你的声音和从设备中捕获的图像)写入或读入 RAM。“在此过程中,必须更高效地将数据读入计算机。微软提供了一个名为内核流的框架来处理这些数据,它主要在内核模式下运行。”
该漏洞源于一个竞赛条件,可被利用来操纵内核流服务中的权限检查。“微软在其安全公告中证实:”成功利用此漏洞的攻击者可获得系统管理员权限。“成功利用这个漏洞需要攻击者赢得一个竞赛条件。”
具体来说,当 nt!SeDebugPrivilege 发生变化时,非管理员用户就能获得高权限进程的 PROCESS_ALL_ACCESS,从而导致该漏洞的出现。这种攻击向量基本上绕过了通常需要管理员控制的 SeDebugPrivilege。
该漏洞利用了 Windows 检查进程权限的方式。通常情况下,拥有 SeChangeNotifyPrivilege(一种常见权限)的用户只能有限地访问系统资源。然而,通过利用这一漏洞,攻击者可以欺骗系统,使其误以为自己拥有 SeDebugPrivilege(调试权限),从而获得更高级别的访问权限。
Angelboy 的分析深入探讨了该漏洞的技术细节,解释了攻击者如何利用竞赛条件修改特定权限值,最终获得未经授权的访问权限。
Angelboy 分析之后,安全研究员 Dor00tkit 在 GitHub 上发布了 CVE-2024-30090 的概念验证 (PoC) 漏洞利用代码。PoC 演示了攻击者如何在 Windows 11 23H2 系统上可靠地利用这一漏洞,利用代理到内核技术实现权限升级。
幸运的是,微软在 6 月 2024 日的补丁星期二更新中修补了这一漏洞。我们强烈建议用户立即应用此更新,因为不打补丁的系统将面临利用此漏洞的潜在攻击。