WorkerOrWorkletScriptController: Clear V8->Blink references on Dispose
Blink stand-alone GCs are used in testing and on thread termination. Such GCs iterate Blink->V8 references (global handles) to find the corresponding V8->Blink references that should be treated as roots. On WorkerOrWorkletGlobalScope dispose we also clear the DOMWrapperWorld that holds the Blink->V8 references (global handles). In the case a stand-alone GC happens at this point, WorklerOrWorkletGlobalScope is reclaimed. Access through the JS wrapper back references results in UAF. Bug: chromium:1003729 Change-Id: Iba0cb340a2037445947920888596ea7ecf7c32da Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1833825Reviewed-by:Kentaro Hara <haraken@chromium.org> Reviewed-by:
Yuki Shiino <yukishiino@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#701968}
Showing
Please register or sign in to comment