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

Issue 689125 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Security



Sign in to add a comment

ChromeOS failed to apply corp User policy at sign-in, resulting in multi-sign-in lock screen incorrectly showing both accounts

Project Member Reported by w...@chromium.org, Feb 6 2017

Issue description

Chrome Version: 57.0.2987.19 (Official Build) dev (64-bit)
OS: ChromeOS

What steps will reproduce the problem?
(1) Sign-in to ChromeOS with a corp account that is forced by policy to be the "primary" sign-in.
(2) Sign-in with a second account (i.e. multi-sign-in).
(3) Lock the device.

What is the expected result?

Expect that the lock screen shows only the "primary" account; the user must enter the password for that account to unlock the system

What happens instead?

Both user accounts are displayed, and the user can instead choose the second account and use that to un-lock the system.

This poses a risk of allowing enterprise security restrictions that might be in-place on password strength on the primary account to be bypassed.

(Perhaps there is some mitigation here that I'm missing?)
 

Comment 1 by w...@chromium.org, Feb 6 2017

Cc: skuhne@chromium.org

Comment 2 by w...@chromium.org, Feb 6 2017

Labels: M-57
This issue appears to affect dev-channel (M57) but not canary (M58), for me.

Comment 3 by w...@chromium.org, Feb 6 2017

Looking at chrome://policy, I see that my Chromebox (dev-channel) has the corp device policy listed under Status, but no "user" policy listed.

My Canary and Beta channel devices show both Device and User policies under Status, and both devices show only the "primary" sign-in account on the lock-screen.

Comment 4 by w...@chromium.org, Feb 6 2017

Cc: abodenha@chromium.org
Albert, has something change in M57 around the lock or login areas?

Comment 5 by w...@chromium.org, Feb 6 2017

OK, I just signed-out and back in again, and I now have user policies for @google, and lock screen is behaving as expected.

When I signed in to ChromeOS this morning I found that e.g. my GMail tab wanted me to sign-in again, which seemed strange; the lack of user policy was in the same session, so perhaps that's related?
Cc: warx@chromium.org
Components: UI>Browser>Profiles
Owner: abodenha@chromium.org
Add UI>Browser>Profiles for more exposure.
Component owners, please help triage this bug. Thanks! 

Comment 7 by w...@chromium.org, Feb 7 2017

Components: -UI>Browser>Profiles -UI>Shell>MultipleProfile -UI>SignIn -Services>SignIn Enterprise
Based on the observation in #5, this seems to have been an enterprise policies bug; the sign-in screen was actually WAI, given that the two accounts temporarily appeared to have no policies set.
Owner: st...@chromium.org
Status: Assigned (was: Untriaged)
steel@ can someone on your team investigate
Labels: Security_Impact-Beta
Cc: st...@chromium.org
Owner: jdufault@chromium.org
This should fall into Jake's queue.

wez@: Did you collect logs or similar? Did you see an error notification during sign-in complaining that sign-in credentials were bad, like in  issue 682695 ?

Comment 12 by w...@chromium.org, Feb 8 2017

Re #11: I don't recall seeing any, but network association is super slow on this device, so it's plausible.

However, the device had been signed-in over the weekend, and when I came back some sites were showing sign-in dialogs, so presumably some token actually *had* expired - it was the subsequent login that was missing the policies, though.
Labels: Security_Severity-High
Project Member

Comment 14 by sheriffbot@chromium.org, Feb 8 2017

Labels: ReleaseBlock-Stable

Comment 15 by w...@chromium.org, Feb 8 2017

Summary: ChromeOS failed to apply corp User policy at sign-in, resulting in multi-sign-in lock screen incorrectly showing both accounts (was: ChromeOS allows multi-sign-in users to use any of the signed-in accounts to unlock the device)
FWIW I shared logs with jdufault@ offline.
Cc: bartfab@chromium.org atwilson@chromium.org
I didn't see anything suspicious in the logs. I'm not sure how we could have pulled device policy but failed to pull user policy. Looking at [1] it seems like we block until we have policy.

+atwilson@, xiyuan@ if they have any thoughts on how we could have device policy but not user policy.

1: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.cc?l=207
It shouldn't be possible to get in to a managed user session without downloading policy, due to this logic: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc?l=448. The only way this is possible is if DMServer returns a MANAGEMENT_NOT_SUPPORTED error when registering for user policy.

I'm happy to take a look at the logs if someone can reshare with me or add to the bug (since this bug already has restricted visibility).

Was this the first time you signed in to the corp account (was there no corp account on the device until you did the signin)?


Comment 18 by w...@chromium.org, Feb 10 2017

Re #17: Shared the logs with you; I'm not sure which exact log is from that session, so there are several logs from around that time.

This was not the first sign-in on the device, no. However, I had removed the corp account and re-added it, to diagnose another issue - I don't recall if this was the first sign-in after re-adding or not, though.
Cc: -atwilson@chromium.org jdufault@chromium.org
Owner: atwilson@chromium.org
Handing off to atwilson@ so someone more familiar with policy can take a deeper look. Feel free to reassign to me if this is an issue with non-policy related sign-in flow.

During one of the runs, RemoteCommandsInvalidator never seems to have run. Cryptohome also reports that it did an offline-only login, but in another log file RemoteCommandsInvalidator ran but cryptohome still reported it did an offline-only login. Testing offline login locally worked as expected w.r.t. user policy. I'm not familiar with RemoteCommandsInvalidator so this may or may not indicate an issue. I would expect that it is not an issue though, since if we fail to invalidate we should still have the policy data available.

  > [628:628:0206/102920.927974:VERBOSE1:cryptohome_authenticator.cc(730)] Resolved state to: 12
  // OFFLINE_LOGIN = 12,      // Login succeeded offline.


The following also stood out, but I think it is expected output and does not indicate a problem.

  [628:628:0206/102851.137793:VERBOSE1:auto_enrollment_controller.cc(231)] Device already owned, skipping auto-enrollment check.
  [628:628:0206/102851.137824:VERBOSE1:auto_enrollment_controller.cc(283)] New auto-enrollment state: 5

  5 -> // Check completed successfully, enrollment not applicable.
       AUTO_ENROLLMENT_STATE_NO_ENROLLMENT,
Cc: tnagel@chromium.org emaxx@chromium.org
I looked through the logs and didn't see any kind of policy errors.

The entries for auto_enrollment_controller.cc are expected. RemoteCommandsInvalidator is not related to delivery of policy to the device so that seems to be a red herring.

emaxx, tnagel - I've shared the logs with you. Do you see anything odd there?
I take it back - I don't have permissions to reshare. Wez, any reason not to just attach the logs to this bug?

Comment 22 by w...@chromium.org, Feb 14 2017

chrome_logs-crbug689125.zip
23.2 KB Download
Maksim/Thiemo - any insights? If not, then maybe next step is to see if we can figure out repro steps.

Comment 24 by emaxx@chromium.org, Feb 23 2017

I haven't found any hints in the logs.
Cc: r...@chromium.org
Cc: -st...@chromium.org
This is a stable blocker for M57. Does this still repro on M57 Beta?
Labels: -ReleaseBlock-Stable
Removing RBS since we can't repro.
Project Member

Comment 29 by sheriffbot@chromium.org, Mar 8 2017

Labels: ReleaseBlock-Stable
Labels: -ReleaseBlock-Stable
removing RBS again. For some reason the sheriffbot brought it back.
Project Member

Comment 31 by sheriffbot@chromium.org, Mar 9 2017

Labels: ReleaseBlock-Stable
Project Member

Comment 32 by sheriffbot@chromium.org, Mar 10 2017

Labels: -Security_Impact-Beta Security_Impact-Stable
Labels: -ReleaseBlock-Stable
Project Member

Comment 34 by sheriffbot@chromium.org, Mar 22 2017

atwilson: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
At this point, without repro steps I think we need to (unfortunately) WontFix this as no-repro. Any objections?
Project Member

Comment 36 by sheriffbot@chromium.org, Apr 7 2017

atwilson: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: WontFix (was: Assigned)
OK, marking wontfix - feel free to reopen if we find a repro.

Sign in to add a comment