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

Issue 811158 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Long OOO (go/where-is-mgiuca)
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug-Security



Sign in to add a comment

Bookmark Apps of non-secure origins do not show security indicators

Project Member Reported by mgiuca@chromium.org, Feb 12 2018

Issue description

Chrome Version: 64
OS: Windows, Linux, Mac, Chrome OS

What steps will reproduce the problem?
(1) Go to a http:// site (e.g., http://example.com).
(2) Chrome menu > More tools > Add to desktop/shelf/Applications
(3) Launch the application (either from chrome:apps, or from the shelf).

What is the expected result?
App window shows some indication that it is http.

What happens instead?
Runs in a bare app window with no security indicator.

This is not a regression. It's always been this way. I don't think it was considered particularly alarming back in the day, but now with increased focus on https, we should be showing an indication (especially with "Not Secure" message rolling out).
 
http-window.png
27.3 KB View Download

Comment 1 by ortuno@chromium.org, Feb 12 2018

I'm curious as to how marking HTTP as "Not secure" will be implemented for 68.

Today, If we deem the site for a Bookmark App to be dangerous, e.g. expired cert, we will bring down the location bar (basically and uneditable omnibox, see attached image).

We do this by retrieving the SecurityInfo for the tab and checking if SecurityLevel is "DANGEROUS"[1]. If the change to HTTP as "Not secure" means the SecurityLevel becomes "DANGEROUS" for http sites, then I think this is lower priority since we will have an indicator. (Albeit a really ugly indicator).

[1] https://cs.chromium.org/chromium/src/chrome/browser/ui/extensions/hosted_app_browser_controller.cc?type=cs&q=shouldshowlocationbar&sq=package:chromium&l=131
Screen Shot 2018-02-12 at 1.50.56 PM.png
1.4 MB View Download

Comment 2 by mgiuca@chromium.org, Feb 12 2018

I'm going to try and see if I can quickly fix this. I'm more than happy to have an ugly address bar indicator pop down if you are running a http web app. First of all, we want people migrating to https. Secondly, we want them migrating to PWAs.

Comment 3 by mgiuca@chromium.org, Feb 12 2018

Status: Started (was: Assigned)
Fix is very easy. Regardless of what the SecurityLevel is, we just change the "is on the same origin" check to require https. If it's not https, it's considered off-origin so we show the location bar.

Attached screenshot of the fix on Chrome OS. The window on the left is https://example.com; the window on the right is http://example.com.
Screenshot from 2018-02-12 15-26-09.png
48.7 KB View Download

Comment 4 by mgiuca@chromium.org, Feb 12 2018

(Aside: Looks like on the latest build, the "Not secure" is showing up already, even in 66. I thought this was not scheduled until 68, but maybe it's going to be in Canary/Dev but switched off in Beta/Stable until 68. This change should work irrespective of that.)

Comment 5 by mgiuca@chromium.org, Feb 12 2018

CL is up: https://crrev.com/c/913191.
This certainly doesn't sound like Severity Medium and I don't see any reason this needs to be View-Restricted or tracked as a security bug.
Project Member

Comment 7 by sheriffbot@chromium.org, Feb 12 2018

Labels: M-65

Comment 8 by est...@chromium.org, Feb 12 2018

Labels: -Security_Severity-Medium Security_Severity-Low
Eric: I suggested this be filed as a security bug. What concerns me is not so much that we show the Not Secure warning for http, but rather that we show the security indicator for mixed content or content loaded with security indicators. Per #1 it looks like we're already showing the location bar for DANGEROUS, so this is probably not as big an issue as I thought originally. (I thought we just never show a security indicator, which I think of as Medium severityas "A bug that allows web content to tamper with trusted browser UI.")

Could we show the location bar whenever the security level is not SECURE?
Project Member

Comment 9 by sheriffbot@chromium.org, Feb 12 2018

Labels: -Pri-1 Pri-2
> Could we show the location bar whenever the security level is not SECURE?

I guess that would be a more robust way of doing what I already did in my patch (which is to show Location if EITHER it's DANGEROUS (existing check) OR it's not https).

Would we include SECURE, EV_SECURE and SECURE_WITH_POLICY_INSTALLED_CERT? I'm happy to change to that logic.
Re #10: I think so. We have the security_state::IsSslCertificateValid(SecurityLevel security_level) function that does this.
Matt does the existing code listen for updates to the security level, e.g. if mixed content is loaded on the page dynamically? It looks like it fires on NavigationStateChanged but I'm not sure if that fires for any security level change. One way to do that is to implement WebContentsObserver::DidChangeVisibleSecurityStyle.
Sorry, WebContentsObserver::DidChangeVisibleSecurity*State*
#12 not sure, but it would be a follow-up to fix that.
Cc: benwells@chromium.org
Can we make sure any UI changes, in particular to hosted apps which I believe this affects, go through UI review?
#15 emailed them.
Cc: alancutter@chromium.org
Project Member

Comment 18 by bugdroid1@chromium.org, Feb 19 2018

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

commit e49689cd0ec555a2bf5aa579f94d56c8e161dfe3
Author: Matt Giuca <mgiuca@chromium.org>
Date: Mon Feb 19 06:33:44 2018

Hosted/Bookmark apps now show the location bar for http connections.

HostedAppTest now use https for all tests other than http-specific ones
(otherwise, all tests would show a location bar, and we wouldn't be
properly testing any of the other behaviour).

Bug:  811158 
Change-Id: I0fe220055fb6574c3950f65971e06feadaeabcd9
Reviewed-on: https://chromium-review.googlesource.com/913191
Reviewed-by: Ben Wells <benwells@chromium.org>
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Matt Giuca <mgiuca@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537588}
[modify] https://crrev.com/e49689cd0ec555a2bf5aa579f94d56c8e161dfe3/chrome/browser/ui/extensions/hosted_app_browser_controller.cc
[modify] https://crrev.com/e49689cd0ec555a2bf5aa579f94d56c8e161dfe3/chrome/browser/ui/extensions/hosted_app_browsertest.cc
[rename] https://crrev.com/e49689cd0ec555a2bf5aa579f94d56c8e161dfe3/chrome/test/data/extensions/https_app_no_www/manifest.json

This should make "http" origin pages show the location bar. But we don't yet dynamically show the location bar for mixed content or other non-secure situations in an "https" scheme. So keeping this bug open.
Project Member

Comment 21 by bugdroid1@chromium.org, Apr 12 2018

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

commit 09fa83a759eb20ade48ab85b06c21d3ff05edba4
Author: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Date: Thu Apr 12 08:14:46 2018

desktop-pwas: show location bar whenever the site is not considered secure

Changes the logic to show the location bar any time a site is not secure
e.g. if it displays mixed content, has a mixed content form, etc.

Before, we would only show the location bar for dangerous sites e.g.
invalid certificate, or if the site was not using https.

Based on https://crrev.com/c/923226 by mgiuca.

Bug:  811158 
Change-Id: I72b59eaab031f20924057d1c7ec614f221c52c61
Reviewed-on: https://chromium-review.googlesource.com/1001075
Commit-Queue: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Mustafa Emre Acer <meacer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550098}
[modify] https://crrev.com/09fa83a759eb20ade48ab85b06c21d3ff05edba4/chrome/browser/ssl/ssl_browsertest.cc
[modify] https://crrev.com/09fa83a759eb20ade48ab85b06c21d3ff05edba4/chrome/browser/ssl/ssl_browsertest_util.cc
[modify] https://crrev.com/09fa83a759eb20ade48ab85b06c21d3ff05edba4/chrome/browser/ssl/ssl_browsertest_util.h
[modify] https://crrev.com/09fa83a759eb20ade48ab85b06c21d3ff05edba4/chrome/browser/ui/browser.cc
[modify] https://crrev.com/09fa83a759eb20ade48ab85b06c21d3ff05edba4/chrome/browser/ui/extensions/hosted_app_browser_controller.cc
[modify] https://crrev.com/09fa83a759eb20ade48ab85b06c21d3ff05edba4/chrome/browser/ui/extensions/hosted_app_browsertest.cc

Status: Fixed (was: Started)
Project Member

Comment 23 by sheriffbot@chromium.org, Apr 12 2018

Labels: Restrict-View-SecurityNotify
Project Member

Comment 24 by sheriffbot@chromium.org, Jul 19

Labels: -Restrict-View-SecurityNotify allpublic
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment