【PoC 】CVE-2024-27815:Apple XNU 内核漏洞PoC发布

admin 2024年6月24日13:01:48评论25 views字数 851阅读2分50秒阅读模式

【PoC 】CVE-2024-27815:Apple XNU 内核漏洞PoC发布

MIT CSAIL 的 Joseph Ravichandran 报告了此问题,并指出该漏洞会影响使用 CONFIG_MBUF_MCACHE 编译的内核。Ravichandran 已在 macOS 14.2、14.3 和 14.4 的 X86_64 版本上验证了该漏洞的存在。

CVE-2024-27815 的根本原因在于内核中消息缓冲区的处理。消息缓冲区(或mbuf)由标头和数据部分组成,两者的大小都是固定的。在受影响的内核中,消息缓冲区的总大小 (_MSIZE) 为 256 字节,其中标头占用 32 字节,剩下 224 字节 (MLEN) 用于数据部分。

该漏洞是由sbconcat_mbufs函数中的错误边界检查触发的。具体来说,此函数中使用的宏仅在 _MSIZE 小于一个字节时才发出边界检查,而不是使用 MLEN(数据可用空间的实际长度)。此疏忽允许攻击者将最多 255 个字节的数据写入消息缓冲区的数据字段(该字段只有 224 个字节长),从而导致缓冲区溢出。

苹果的安全公告指出,“应用程序可能能够以内核权限执行任意代码。” 如果利用此越界写入问题,攻击者将能够在内核级别执行任意代码,从而可能导致整个系统被入侵。

Apple 在与 macOS 14.5、iOS 17.5 和 visionOS 1.2 一起发布的 XNU 内核版本 xnu-10063.121.3 中解决了此漏洞。修复涉及正确比较 MLEN(而不是 _MSIZE)与 UINT8_MAX。这可确保正确执行边界检查,从而防止溢出。当常量 MLEN 始终大于 UINT8_MAX 时,编译器可以优化此检查,从而确保安全,因为 CASSERT 保证 sa_len 最多为 255。

对于那些有兴趣深入了解技术细节的人, 可以通过 Joseph Ravichandran 和 MIT CSAIL 提供的资源找到概念验证(PoC) 漏洞代码和进一步的 CVE-2024-27815 分析。

https://github.com/jprx/CVE-2024-27815

原文始发于微信公众号(独眼情报):【PoC 】CVE-2024-27815:Apple XNU 内核漏洞PoC发布

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月24日13:01:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【PoC 】CVE-2024-27815:Apple XNU 内核漏洞PoC发布https://cn-sec.com/archives/2878370.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息