Google Chrome V8 CVE-2024-0517 越界写入代码执行

admin 2024年1月24日15:20:10评论39 views字数 989阅读3分17秒阅读模式

Google Chrome V8 CVE-2024-0517 越界写入代码执行

介绍

该漏洞源于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/

原文始发于微信公众号(Ots安全):Google Chrome V8 CVE-2024-0517 越界写入代码执行

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月24日15:20:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Google Chrome V8 CVE-2024-0517 越界写入代码执行https://cn-sec.com/archives/2418228.html

发表评论

匿名网友 填写信息