Browser process can be run at High Integrity Level
Reported by
hae...@gmail.com,
Jan 12 2018
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 Steps to reproduce the problem: 1. Close all your chrome browsers (and make chrome your default app to open web pages, just to be sure). 2. From a UAC elevated application, open a chrome browser (it can be an UAC elevated application with a link, for example, an installer). 3. The chrome browser that is spawned is elevated. What is the expected behavior? The privileges should be dropped. This is for example the behavior of Microsoft Edge or Opera. What went wrong? The chrome browser continues to run with high privileges. It can be checked by checking the Security tokens (I used Process Explorer for that), but that is not always “clean cut”. What is clearer, is spawning a cmd.exe from the browser: if the browser is privileged, the cmd.exe will be “Run as administrator” with the text “administrator” as part of the title bar. If the browser dropped the privileges, the prompt will be a regular one. For example: Save file -> Browse to Windows\system32 -> file cmd.exe, right click -> Open (NOT Open as administrator). [Of course, this is just the symptom, not the real risk]. Did this work before? No Chrome version: 63.0.3239.132 Channel: stable OS Version: 10.0 Flash Version: This sort of issues was discussed in length. e.g. https://superuser.com/questions/472082/prevent-specific-applications-from-being-run-as-administrator
,
Jan 12 2018
Actually, even if the renderers are Low, there is a more serious case: Take the 3 steps above (your chrome browser is high priviledged). 4- Any executable, or even file opened through the Download Manager (Ctrl-J) is spawned too as High. I just tried by "downloading" a copy of cmd.exe from C:\Windows\System32 and opened it directly from the "Downloads". I also tried using some Extension (Chrono Download Manager): in both cases, the cmd.exe process is Run as Administrator. That would also mean that the extensions are also high privileged.
,
Jan 12 2018
> That would also mean that the extensions > are also high privileged Not really, no. It means that the browser process is running at Admin and thus so are the things it launches if the Extension has permission to ask it to launch things. Yes, inheritance of Integrity Levels is how Windows is designed to behave.
,
Jan 12 2018
The fact that files downloaded through the browser can be run as admin (even by mistake) is IMHO a good-enough reason to always drop the browser privileges. That's at least what Opera and Edge are doing. And of course, there is also defense in depth, but I think the previous reason is a lot more valid.
,
Jan 12 2018
crbug.com/507369 mentions: "In general, we've discussed giving the browser process the power to see that it has been launched at high integrity and automagically dropping to medium, but I'm not sure if this would break certain users' expectations. It seems like a bad idea to intentionally run your browser at high integrity, but maybe someone is doing it." It's a fair point that some users may be doing this on purpose, but it's also true that we don't really provide an easy way for a user to recognize that Chrome is in this configuration which leads to downstream effects like that noted in Comment #4. In terms of cross-browser behavior, Opera and Edge run at MediumIL, while Chrome, Firefox and Brave run the Browser Process at HighIL with LowIL renderers, and IE runs at HighIL *and* runs its tab processes at HighIL.
,
Jan 12 2018
+pennymac for additional Windows knowledge
,
Jan 12 2018
This is certainly not a security bug, and I'm not even sure we should be doing anything about this - how users choose to run their Chrome is up to them and we should not stop them from running as Admin. I will admit that, perhaps, we should notify users that Chrome is running as Admin since this is a less secure configuration, just as we do for users who choose to run --no-sandbox. Perhaps just an infobar here, or re-use the existing one in chrome/browser/ui/startup/bad_flags_prompt.cc Either way, this is Pri-3 at most.
,
Jan 13 2018
I agree it is not a security bug by itself. It is just very bad practice to let anyone run a web browser with high privilege. The scenario can be from a user clicking on a link from most installers requiring UAC. I just tried and the first installer "was a hit": I downloaded IrfanView installer -> asked for UAC elevation (proably to install for all users) -> started the installer and gave a link its EULA -> the browser spawned (if no other browser window was already opened) was privileged as HighIL ( S-1-16-12288 ). Of course, chromium can claim that it's the responsibility of all the installers of the world to drop privileges or not giving a clickable link from their privileged installer. But let's be fair: that will not happen. |
||||
►
Sign in to add a comment |
||||
Comment 1 by elawrence@chromium.org
, Jan 12 2018Components: Internals>Sandbox
Labels: Security_Impact-Stable