Rapid7 Vulnerability & Exploit Database

Google Chrome 80 JSCreate side-effect type confusion exploit

Back to Search

Google Chrome 80 JSCreate side-effect type confusion exploit

Disclosed
02/19/2020
Created
03/04/2020

Description

This module exploits an issue in Google Chrome 80.0.3987.87 (64 bit). The exploit corrupts the length of a float array (float_rel), which can then be used for out of bounds read and write on adjacent memory. The relative read and write is then used to modify a UInt64Array (uint64_aarw) which is used for read and writing from absolute memory. The exploit then uses WebAssembly in order to allocate a region of RWX memory, which is then replaced with the payload shellcode. The payload is executed within the sandboxed renderer process, so the browser must be run with the --no-sandbox option for the payload to work correctly.

Author(s)

  • Clément Lecigne
  • István Kurucsai
  • Vignesh S Rao
  • timwr

Architectures

x64

Development

Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/multi/browser/chrome_jscreate_sideeffect
msf exploit(chrome_jscreate_sideeffect) > show targets
    ...targets...
msf exploit(chrome_jscreate_sideeffect) > set TARGET < target-id >
msf exploit(chrome_jscreate_sideeffect) > show options
    ...show and set options...
msf exploit(chrome_jscreate_sideeffect) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security

;