New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 697154 link

Starred by 5 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Changes in the SHA-1 Enterprise Policy don't live propagate

Project Member Reported by rsleevi@chromium.org, Feb 28 2017

Issue description

The SSLConfigManagerPref handles propagating changes from the Pref Store (which includes enterprise policies) to an SSLConfig, by way of notifying clients via the SSLConfigManager interface.

Unfortunately, a bug in the base SSLConfigManager interface meant that run-time changes to the setting of the SHA-1 policy would not register as a 'new' SSLConfig, which wouldn't force-invalidate any old configs. Any code which grabbed the new config would get the right result, but any code holding onto the old config wouldn't be notified.

This primarily would manifest when the enterprise policies were changed after Chrome was running for some time. While TLS policies historically have not been reflected well in 'live' configurations (due to the SystemURLRequestContext), we make a best-effort to propagate them.
 
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/39f9eb3f5301f73d385c6d65601c60dba4fae63e

commit 39f9eb3f5301f73d385c6d65601c60dba4fae63e
Author: rsleevi <rsleevi@chromium.org>
Date: Wed Mar 01 00:31:53 2017

Make SSLConfigManager notify clients if the SHA-1 policy changes

An oversight in the comparator for the SSLConfigManager that handles
the logic for determining when an SSLConfig is "new" (and thus
should invalidate all existing SSLConfigs) meant that changes to the
SHA-1 policy for local anchors wouldn't be immediately propagated.

BUG= 697154 

Review-Url: https://codereview.chromium.org/2723783002
Cr-Commit-Position: refs/heads/master@{#453772}

[modify] https://crrev.com/39f9eb3f5301f73d385c6d65601c60dba4fae63e/net/ssl/ssl_config_service.cc
[modify] https://crrev.com/39f9eb3f5301f73d385c6d65601c60dba4fae63e/net/ssl/ssl_config_service_unittest.cc

Cc: awhalley@chromium.org
Labels: Merge-Request-57
Hello TPMs, both Release and Enterprise:

This was bug I noticed when working on some M58 code that potentially means that changes to the EnableSha1ForLocalAnchors policy won't propagate.

Because we introduced that policy because M-57 bears with it some risk for Enterprise (notably, in the Edu market, where MITM is prevalent and insecure), it seems like this can/should be a candidate for merging. We've been telling enterprises to enable that policy (in https://security.googleblog.com/2016/11/sha-1-certificates-in-chrome.html ) and I would love to make sure this gets in a release so we can make sure, sure, sure that all our bases are covered to avoid disruption.

However, I'm not sure how we handle "group policy changes while Chrome is running" - whether restarting Chrome is an acceptable workaround until M58 (e.g. denying the merge) or whether we should consider this as a ReleaseBlocker.

Please advise on whether this should be RB-S
Project Member

Comment 4 by sheriffbot@chromium.org, Mar 1 2017

Labels: -Merge-Request-57 Hotlist-Merge-Review Merge-Review-57
This bug requires manual review: We are only 12 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
+ awhalley@ for M57 merge review
Cc: blumberg@chromium.org
+ blumberg@ (Enterprise PM)
  It is not common for customers (IT-Admins) to make changes to GPO on a regular basis or deploy new GPOS 'on the fly' when managing a large number of systems. Typically changes are reviewed, deployed and scheduled reboots happen when updates are deployed (for the whole system, not just Chrome as typically other SW updates are also applied). So if the only risk here is that companies who deploy this will not have policy applied until the Chrome  process restarts, I think it is low risk.  

Don't forget that if they set the policy today and then AU or deploy M57 that will be the 'restart' needed, right?

Having said that, if the change is very small (low risk) it would be great to have this in m57.
It would also affect clients if we delay initializing enterprise policies after profile startup. Unless/until they changed one of the _other_ policies, so as to tickle a "Hey, there's a new config" notification, then they'd stick with the old config from prefs.

It's very much a small and low-risk change; The effect of the change is just "Consider this policy different if the old policy and the new policy don't share the same value for SHA-1" - like they already examine every other policy-or-command-line configured option.
Cc: georgesak@chromium.org
Makes sense, so if this is a small/low-risk change, is there any objection to a merge?
Thank you  blumberg@ and rsleevi@.

rsleevi@, please update this bug once change is baked/verified in Canary. If things look good in Canary, I will approve the merge to M57.
rsleevi@, how is this change looking in Canary?
It's looking fine, no issues reported and works with manual testing :)
Labels: -Merge-Review-57 Merge-Approved-57
Thank you rsleevi@. Approving merge to M57 branch 2987 based on comment #8, #9 and #12. 
Please merge your change to M57 branch 2987 latest by 5:00 PM PT Friday, 03/03 (sooner the better) so we can take it in for M57 Desktop Stable cut. Thank you.
Project Member

Comment 15 by bugdroid1@chromium.org, Mar 3 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da57f51fe86456e1e909011e8495d089f21516cb

commit da57f51fe86456e1e909011e8495d089f21516cb
Author: Ryan Sleevi <rsleevi@chromium.org>
Date: Fri Mar 03 02:30:39 2017

Make SSLConfigManager notify clients if the SHA-1 policy changes

An oversight in the comparator for the SSLConfigManager that handles
the logic for determining when an SSLConfig is "new" (and thus
should invalidate all existing SSLConfigs) meant that changes to the
SHA-1 policy for local anchors wouldn't be immediately propagated.

BUG= 697154 

Review-Url: https://codereview.chromium.org/2723783002
Cr-Commit-Position: refs/heads/master@{#453772}
(cherry picked from commit 39f9eb3f5301f73d385c6d65601c60dba4fae63e)

Review-Url: https://codereview.chromium.org/2730623005 .
Cr-Commit-Position: refs/branch-heads/2987@{#746}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/da57f51fe86456e1e909011e8495d089f21516cb/net/ssl/ssl_config_service.cc
[modify] https://crrev.com/da57f51fe86456e1e909011e8495d089f21516cb/net/ssl/ssl_config_service_unittest.cc

Status: Verified (was: Started)

Sign in to add a comment