Company
Date Published
Author
Man Yue Mo
Word count
3495
Language
English
Hacker News points
None

Summary

CVE-2023-4069 is a type confusion vulnerability in Chrome's V8 JavaScript engine that allows remote code execution via a single visit to a malicious site. This vulnerability, found in the Maglev compiler, emerges from speculative optimization processes and can be exploited when default constructors in derived classes are omitted, leading to uninitialized objects. Although the Chrome renderer sandbox limits the privilege of code execution, chaining this vulnerability with a sandbox escape could potentially compromise Chrome or the user's device. Despite the complexity of JIT engines historically making them targets for attackers, users can mitigate risks by keeping Chrome up-to-date with automatic updates. In exploiting CVE-2023-4069, the absence of a constructor check in Maglev leads to the creation of uninitialized JavaScript objects, allowing out-of-bounds access. This can be leveraged for arbitrary read and write primitives, enabling attackers to execute code within the V8 heap, although the heap sandboxing in V8 prevents access to arbitrary memory locations. However, attackers can use JIT spraying techniques to bypass this restriction by modifying JIT pointers to execute shell code stored as floating-point numbers.