Chrome ignores policy if registry keys set by policy are non sequential
Reported by
yyefet@chromium.org,
Oct 13 2016
|
|||||||
Issue descriptionVersion: 53.0.2785.116 OS: Windows What steps will reproduce the problem? (1) Whitelist 3 extensions via GPO policy on Windows AD server (2) gpupdate/force (to push policies to clients) (3) On client, change the numbering on the extensions in registry: HKLM\SOFTWARE\Policies\Google\Chrome\ExtensionInstallWhitelist for example: if the extensions are added in the following sequential order: (1,2,3) note: this is the default behavior 1 - extensionid1 2 - extensionid2 3 - extensionid3 change the registry key on the client machine for the last two: (1,3,4) - (ie: skip key 2) 1 - extensionid1 3 - extensionid2 4 - extensionid3 What is the expected output? All extensions (whether sequential or not) should be read into chrome://policy whitelist extension policy What do you see instead? Extension 1 will only be visible in chrome://policy whitelist extension policy due to the fact that key #2 is missing (policy ignores all additional extensions) Can we change the way registry keys are read by not assuming that if one sequential key is missing, we are at the end of the list? Images Attached
,
Oct 13 2016
,
Oct 14 2016
untriaged w/ owner -> assigned
,
Oct 17 2016
Georges, can you take a look? IIUC, this happens with other Chrome policies and I'd like to understand if this is a Chrome thing or a GPO limitation.
,
Oct 17 2016
I think it's due to limitation of GPO/Windows which pastarmovj@ have mentioned before.
,
Oct 17 2016
If this is windows/gpo limitation we can close this as WIA.
,
Oct 21 2016
Well we can make change our code to be able to skip over holes in the numbering. This is not going to be a valid registry configuration in the sense of what will be produced if the policies are only ever edited with the group policy editor but we can do it. The question is do we want to? As for the technical feasibility it is a relatively trivial change to the policy::ConvertValue and RegistryDict::ConvertToJSON functions in the registry_dict_win.cc file.
,
Oct 25 2016
IMO, fixing this would be a positive. There are many admins out there populating registries via script or 3rd party tools (instead of GP editor) that may be prone to error. @blumberg, your thoughts?
,
Oct 25 2016
My suggestion is displaying the error on the chrome://policy page instead of ignoring it. Fixing the error should not be hard for admins as long as we tell them.
,
Oct 25 2016
It sounds like we have 2 paths forward: 1. Don't make a change to how we process the policies and add a error message in chrome:policy per Owen's recc. 2. Make this trivial change to support gaps in the policy list (eg, you have 10 extensions to force-install but there is a blank line after item 5 so only extensions 1,2,3,4 get installed and 6-10 are ignored. Julian, my question is about the risk if we do make the change: Is there risk for customers that use both group policy editor (the native MS tool) for creation/management/deployment of entries AS WELL AS direct registry modifications manually/via script or other tool? Can you clarify what the expected behavior will be for a customer that has a gap in their list today before/after this change along with the expected behavior for customers that manage via registry and other tools (in addition to GPO)? Not 100% clear on #c7.
,
Oct 26 2016
I think no admin in their right mind will mix the policy editor with manual changes because the GPO application will wipe over his manual registry key changes. I guess it is either one and potentially some 3rd party tools which might also be leaving gaps. There is no risk in modifying the code to be able to skip numbers or even read any key regardless whether its name is a number or not. I think when this code was written the standard behavior of the GPO editor was used as a template and the edge case was simply never covered. Adding code to check about this situation for the sake of showing a warning on the policy page or simply reading through seems to be similar effort imo.
,
Nov 2 2016
#2 is the more durable solution, but it could technically have adverse effects (although the chances are low). If an admin is running a configuration with a blank line and there's a following entry that has an impactful effect that was never activated, our change will have sudden and potentially unexpected impact for those users. I still think we should go ahead with #2, as the positives largely outweigh the negatives. Assigning it to myself.
,
Nov 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1a839edc0bc326d05f368ff00ce5a9e3b10d3041 commit 1a839edc0bc326d05f368ff00ce5a9e3b10d3041 Author: georgesak <georgesak@chromium.org> Date: Fri Nov 04 13:09:38 2016 Enable non-sequential entries when loading registry lists. This CL makes the loading much more permissive. The names still have to be integers, but need not be sequential. BUG= 655774 Review-Url: https://codereview.chromium.org/2478503002 Cr-Commit-Position: refs/heads/master@{#429870} [modify] https://crrev.com/1a839edc0bc326d05f368ff00ce5a9e3b10d3041/components/policy/core/common/registry_dict_win.cc [modify] https://crrev.com/1a839edc0bc326d05f368ff00ce5a9e3b10d3041/components/policy/core/common/registry_dict_win_unittest.cc
,
Nov 4 2016
Hi georgesak, Thanks for the fix! Do we know which version of Chrome this will land in so I can set expectations with the customer?
,
Nov 4 2016
This will be in M56.
,
Nov 4 2016
Anyway way we can get this merged to 55?. This is needed for a large customer that currently has 53 deployed in their environment. I believe they would be hesitant to move to dev channel in production.
,
Nov 29 2016
@georgesak, can this be merged to r55? Large customer is waiting for this fix but doesn't want to move all clients to 56.
,
Dec 13 2016
Friendly ping.. Can this be merged to r55?
,
Dec 13 2016
Apologies, I meant to answer this earlier but got sidetracked. Merging to M55 will not be possible (not a blocker/security issue). It will be in M56 however.
,
Dec 13 2016
Thanks for the response. Fair enough, I will communicate that w/ the customer. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by yye...@google.com
, Oct 13 2016162 KB
162 KB View Download
22.9 KB
22.9 KB View Download
161 KB
161 KB View Download
18.7 KB
18.7 KB View Download