Bridging the Gap: Type Confusion and Boundary Vulnerabilities Between WebAssembly and JavaScript
Bridging the Gap: Type Confusion and Boundary Vulnerabilities Between WebAssembly and JavaScript in V8
As WebAssembly becomes more integrated into modern web browsers, its interaction with JavaScript creates new opportunities for performance optimization, but also introduces significant security risks. This presentation dives deep into the vulnerabilities emerging from the boundaries between WebAssembly and JavaScript, with a focus on type confusion issues and improper handling of object boundaries within the V8 engine.
Through our research, we have uncovered multiple vulnerabilities in V8, including type confusion between WasmObject and JSObject, as well as issues with the WebAssembly Garbage Collection (WasmGC) and JavaScript Promise Integration (JSPI) API. These vulnerabilities have serious implications for browser security, and could lead to crashes, out-of-bounds accesses, or even remote code execution.
We will discuss several CVEs, including CVE-2024-5158, CVE-2024-7550, CVE-2024-3156, CVE-2024-8638, and CVE-2024-5838, and explain how these issues were identified, the technical details behind them, and the patches submitted to resolve them. Our goal is to highlight the importance of thorough security reviews and the need for improved safety checks at the WebAssembly-JavaScript interface.
Full Abstract and Presentation Materials:
https://www.blackhat.com/asia-25/briefings/schedule/#bridging-the-gap-type-confusion-and-boundary-vulnerabilities-between-webassembly-and-javascript-in-v8-43510Black HatRead More