Google Chrome V8 CVE-2024-0517 越界写入代码执行
2024-1-22 12:9:59 Author: Ots安全(查看原文) 阅读量:98 收藏

介绍

该漏洞源于V8的Maglev编译器,特别是它如何编译具有父类的类。当涉及到父类和构造函数时,编译器需要查找它们,而在此过程中引入了漏洞。在本文中,我们将深入探讨这个漏洞的细节以及如何利用它。

初步细节

V8编译管道V8 JavaScript引擎的编译管道包括多个组件,包括Ignition(解释器)、Sparkplug(基线编译器)、Maglev(中间优化编译器)和TurboFan(优化编译器)。Ignition从解析的抽象语法树生成字节码,而Sparkplug和Maglev处理基线和中间优化。TurboFan是最后的阶段,执行动态分析并生成优化的编译代码。

Maglev:中间优化器

Maglev位于Sparkplug和TurboFan之间,专注于进行快速的静态优化而无需进行动态分析。它依赖于解释器的反馈来在静态情况下优化代码,创建称为Maglev IR的控制流图(CFG)。

漏洞分析

漏洞是在编译具有父类的类时产生的。Maglev编译器尝试查找父类和构造函数时,引入了这个漏洞。利用此漏洞允许未经授权访问特定内存区域,并打开执行任意代码的可能性。

攻击机制

为了利用此漏洞,攻击者可以利用Maglev编译器的错误查找过程。通过精心制作JavaScript代码,攻击者触发一个包含父类的类的编译错误,从而未经授权地访问敏感内存区域。

复现步骤

  • 触发编译错误:制作JavaScript代码,触发包含父类的类的编译错误过程。

  • 内存访问:利用漏洞未经授权地访问特定内存区域。

  • 任意代码执行:利用受损的内存访问在Chrome环境中执行任意代码。

结论

Chrome安全团队迅速解决了这个漏洞,并在2024年1月16日发布了更新。通过分配的CVE-2024-0517,该补丁纠正了Maglev编译器中的错误编译过程。这一事件突显了在保护复杂系统如V8 JavaScript引擎方面的持续挑战,并强调了迅速响应以减轻潜在风险的重要性。作为用户,保持对浏览器的及时更新有助于防范此类漏洞。

参考:
https://blog.exodusintel.com/2024/01/19/google-chrome-v8-cve-2024-0517-out-of-bounds-write-code-execution/

感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247503760&idx=1&sn=b566dfca62ec56a983ae0a724ef02873&chksm=9a4daaa55e9c3e9e9ee3b7f0b8c49e733b6a959d2fc61e7d27e7e8a77d60a063e33d296fc9e3&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh