CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/documentation/modules/exploit/windows/browser/chrome_filereader_uaf.md
Views: 1904
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.