New issue
Advanced search Search tips

Issue 814479 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Chrome sandbox incompatible with Windows 10 parallel loading

Project Member Reported by brucedaw...@chromium.org, Feb 21 2018

Issue description

Windows 10 introduces parallel loading of DLLs for faster process startup:

https://www.cylance.com/en_us/blog/windows-10-parallel-loading-breakdown.html

However there have been multiple reports that Windows applies a compatibility fix for chrome.exe to disable this feature, probably due to incompatibility with our sandbox.

We should investigate and see whether it is worth fixing this.

 
I expect a problem with this is we rely on being able to set an impersonation token on the initial thread to increase privileges during process initialization. If it's spinning up multiple threads then we won't know about them and some will fail to load DLLs as they'll be running with the more restricted token.

It could be difficult to fix though, the process initialization code is very much a black box. We could hook thread creation and apply impersonation tokens to all new threads but we do try to avoid hacking too much stuff. What would be ideal is MS creating a lockdown API, all it'd take would be kernel calls to disable token groups and restricted groups so that we could start with a less restrictive access token then drop all groups/privileges afterwards (bit like setuid on *nix) but after repeated requests they've yet to do so. If we had that we could drop the impersonation token stuff entirely and everyone would win from a app compat perspective.

Still at least work looking at it to see if there's an easy win, but seems like they'd shim us for the future which in itself is also a problem.

Sign in to add a comment