Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(692)

Issue 1907603002: Make sure binding security checks don't pass if the frame is remote. (Closed)

Created:
4 years, 8 months ago by dcheng
Modified:
4 years, 8 months ago
Reviewers:
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@2704
Target Ref:
refs/pending/branch-heads/2704
Project:
chromium
Visibility:
Public.

Description

Make sure binding security checks don't pass if the frame is remote. Blink assumes that remote frames will always fail the security origin check. Unfortunately, reality is not that simple. There are several instances where this assumption fails to hold. For example: 1. Navigate to a.com. 2. a.com opens a new window. 3. Navigate the new window to b.com via the omnibox. 4. Click a link to c.com in both windows. Because browser-initiated navigations go cross-process but renderer-initiated navigations do not [1], the two c.com windows will end up in different renderer processes. Both windows have the same origin but see each other as RemoteFrames. This means that SecurityOrigin's canAccess check will pass… but this ends up violating many assumptions in Blink that passing the security check implies a local frame. [1] https://www.chromium.org/developers/design-documents/process-models#Caveats BUG=601629 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review URL: https://codereview.chromium.org/1887553002 Cr-Commit-Position: refs/heads/master@{#387087} (cherry picked from commit f23b8e77a83a5aafabf64acf723cf2ac02c5cf0e) Committed: https://chromium.googlesource.com/chromium/src/+/0c0f5608d576451f601245255a85342490039eb7

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+85 lines, -3 lines) Patch
M content/browser/frame_host/render_frame_host_manager_browsertest.cc View 2 chunks +71 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/BindingSecurity.cpp View 2 chunks +10 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/DOMWindow.cpp View 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 2 (1 generated)
dcheng
4 years, 8 months ago (2016-04-20 20:13:00 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
0c0f5608d576451f601245255a85342490039eb7.

Powered by Google App Engine
This is Rietveld 408576698