Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/documentation/modules/exploit/windows/browser/chrome_filereader_uaf.md
Views: 11789
Description
The FileReader.readAsArrayBuffer function can return multiple references to the same ArrayBuffer object, which can be freed and overwritten with sprayed objects. The dangling ArrayBuffer reference can be used to access the sprayed objects, allowing arbitrary memory access from Javascript. This is used to write and execute shellcode in a WebAssembly object.
The shellcode is executed within the Chrome sandbox, so you must explicitly disable the sandbox for the payload to be successful, e.g:
C:\Program Files\Google\Chrome\Application>chrome.exe --no-sandbox
Vulnerable Application
This exploit takes advantage of a use after free vulnerability in Google Chrome 72.0.3626.119 running on Windows 7 x86. Additional memory protections mean this exploit technique is not as straightforward on x64 versions of Windows.
Verification Steps
Start msfconsole
Do:
use exploit/windows/browser/chrome_filereader_uaf
Do:
Choose a payload and set any specific options
Do:
run
, after a target browses to the generated URL, you should receive a session.