New issue
Advanced search Search tips

Issue 826041 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Multiple concurrent screen capture sessions are not handled correctly on ChromeOS

Project Member Reported by sergeyu@chromium.org, Mar 26 2018

Issue description

1. Start multiple concurrent screen sharing sessions (e.g. share screen it 2 parallel hangouts sessions in 2 separate tabs).
2. Click 'stop' in notification bar to stop screen sharing session.
3. Observe that only one of the screen sharing sessions is stopped.

It looks like ChromeOS tray tracks only one desktop sharing session. As result when "Stop" is called the notification disappears, but only one session is stopped. After "Stop" is clicked screen may continue to be shared, but there is no indication in the UI. "Stop" button should either stop all current sessions or the notification should stay in the tray as long as there is at least one desktop sharing session. 

Second related issue is that the tray notification doesn't make it clear which applications are sharing the screen when there is more than one. 
 
Summary: Multiple concurrent screen capture sessions are not handled correctly on ChromeOS (was: Multiple concurrent screen capture notifications are not handled correctly on ChromeOS)
Cc: isandrk@chromium.org
When switching profiles screen sharing is supposed to stop, but it only works when there is an active notification in the tray, so this feature is broken as well.
Labels: M-65 Security_Impact-Stable Security_Severity-Medium
Owner: abodenha@chromium.org
Status: Assigned (was: Untriaged)
This sounds like a real bug. We should not lose track of screensharing sessions.

Albert, do you know who owns the screensharing notification?
Owner: jdufault@chromium.org
jdufault@ do you still own the screen sharing integration or has that been handed off to someone else?

I question the "medium" classification here.  Definitely sounds like something we should fix, but this seems more like a privacy concern of "oops I didn't realize I was still sharing" rather than anything an attacker could actively exploit.

I'm guessing the simplest solution is just to kill all sessions on clicking stop.

Honestly, I'd argue for preventing multiple sessions in the first place as the effort required to support multiples properly (disclosing which apps are sharing in the notification, etc.) seem prohibitively expensive relative to the value.
Cc: r...@chromium.org abodenha@chromium.org
Looking at the code both approaches abodenha@ outline seem straight-forward, though if we prevent multiple sessions the code to do so will be more of a hack, since it will be doing validation at the UI layer.

I'll upload a CL to kill all sessions when clicking stop.

https://cs.chromium.org/chromium/src/ash/system/screen_security/screen_tray_item.cc?l=116
Thanks, jdufault@!

jorgelo@ since this is classified "medium" should we aim to merge this to 66 or is 67 acceptable?
Cc: steve...@chromium.org
Project Member

Comment 10 by bugdroid1@chromium.org, Apr 13 2018

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

commit 200d0cedc373ac353383b1bf8274d4c0441aec5b
Author: Jacob Dufault <jdufault@google.com>
Date: Fri Apr 13 01:06:55 2018

cros: Stop all screen share sessions if "Stop" button is pressed.

Previously, not all screen share sessions would stop and the shelf UI would not
indicate that there was a screen share session.

Bug:  826041 
Change-Id: Ia32bf38e6a0dc158037d9d482e5b2bba6edf17f5
Reviewed-on: https://chromium-review.googlesource.com/993761
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550453}
[modify] https://crrev.com/200d0cedc373ac353383b1bf8274d4c0441aec5b/ash/system/screen_security/screen_tray_item.cc
[modify] https://crrev.com/200d0cedc373ac353383b1bf8274d4c0441aec5b/ash/system/screen_security/screen_tray_item.h
[modify] https://crrev.com/200d0cedc373ac353383b1bf8274d4c0441aec5b/ash/system/screen_security/screen_tray_item_unittest.cc

Status: Fixed (was: Assigned)
Let me know if this requires a merge.
Project Member

Comment 13 by sheriffbot@chromium.org, Apr 14 2018

Labels: Restrict-View-SecurityNotify
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/200d0cedc373ac353383b1bf8274d4c0441aec5b

commit 200d0cedc373ac353383b1bf8274d4c0441aec5b
Author: Jacob Dufault <jdufault@google.com>
Date: Fri Apr 13 01:06:55 2018

cros: Stop all screen share sessions if "Stop" button is pressed.

Previously, not all screen share sessions would stop and the shelf UI would not
indicate that there was a screen share session.

Bug:  826041 
Change-Id: Ia32bf38e6a0dc158037d9d482e5b2bba6edf17f5
Reviewed-on: https://chromium-review.googlesource.com/993761
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550453}
[modify] https://crrev.com/200d0cedc373ac353383b1bf8274d4c0441aec5b/ash/system/screen_security/screen_tray_item.cc
[modify] https://crrev.com/200d0cedc373ac353383b1bf8274d4c0441aec5b/ash/system/screen_security/screen_tray_item.h
[modify] https://crrev.com/200d0cedc373ac353383b1bf8274d4c0441aec5b/ash/system/screen_security/screen_tray_item_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, May 8 2018

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

commit 38ffe94eb5ee5b175c9d579e1457ba9fc46b4728
Author: Tetsui Ohkubo <tetsui@chromium.org>
Date: Tue May 08 06:36:33 2018

Stop all screen share in notification controller.

The CL https://crrev.com/c/993761 made a change to stop all screen
capture/share sessions in ScreenTrayItem when one of the sessions is
stopped.

Unfortunately the fix does not work in UnifiedSystemTray as it's done
in SystemTrayItem. Also, the behaviors from the notification stop button
and the tray stop button were different.

This CL moves the logic from ScreenCaptureItem to
ScreenSecurityNotificationController.

Ideally we should fix Screen{Capture,Share}Observer interfaces, or
prevent multiple share sessions in the first place but it is not trivial
as noted in  https://crbug.com/826041#c6 .

TEST=ScreenCaptureTest,ScreenShareTest
BUG= 826041 

Change-Id: I3f559b95d99bfd4c04a1241e2e86de2718f1dc29
Reviewed-on: https://chromium-review.googlesource.com/1046287
Reviewed-by: Yoshiki Iguchi <yoshiki@chromium.org>
Commit-Queue: Tetsui Ohkubo <tetsui@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556710}
[modify] https://crrev.com/38ffe94eb5ee5b175c9d579e1457ba9fc46b4728/ash/system/screen_security/screen_security_notification_controller.cc
[modify] https://crrev.com/38ffe94eb5ee5b175c9d579e1457ba9fc46b4728/ash/system/screen_security/screen_security_notification_controller.h
[modify] https://crrev.com/38ffe94eb5ee5b175c9d579e1457ba9fc46b4728/ash/system/screen_security/screen_tray_item.cc
[modify] https://crrev.com/38ffe94eb5ee5b175c9d579e1457ba9fc46b4728/ash/system/screen_security/screen_tray_item.h
[modify] https://crrev.com/38ffe94eb5ee5b175c9d579e1457ba9fc46b4728/ash/system/screen_security/screen_tray_item_unittest.cc

Project Member

Comment 16 by sheriffbot@chromium.org, Jul 21

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