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

Issue 2345473003: Block top-level navigations to nested URLs with extension origins from non-extension processes. (Closed)

Created:
4 years, 3 months ago by alexmos
Modified:
4 years, 3 months ago
Reviewers:
Devlin, agl, nasko
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, cbentzel+watch_chromium.org, extensions-reviews_chromium.org, site-isolation-reviews_chromium.org, Mike West
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Block top-level navigations to nested URLs with extension origins from non-extension processes. Before this CL, it was possible for a web iframe with an unblessed extension frame to exploit the renderer, create a blob: or filesystem: URL in the extension frame context, then create a new top-level window and navigate it to that URL, which could end up putting the new window into a privileged extension process running attacker's code. BUG=645028 Committed: https://crrev.com/4bfdc9292a6161980ba9a7a469d2d4515bebc6dd Cr-Commit-Position: refs/heads/master@{#419019}

Patch Set 1 #

Patch Set 2 : Add test #

Patch Set 3 : Cleanup #

Total comments: 14

Patch Set 4 : Devlin's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -0 lines) Patch
M chrome/browser/extensions/process_manager_browsertest.cc View 1 2 3 5 chunks +221 lines, -0 lines 0 comments Download
M chrome/browser/net/chrome_extensions_network_delegate.cc View 1 2 3 2 chunks +16 lines, -0 lines 0 comments Download

Messages

Total messages: 33 (18 generated)
alexmos
Nasko, Devlin: please take a look. This is the fix we discussed. https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc ...
4 years, 3 months ago (2016-09-15 17:43:02 UTC) #7
nasko
LGTM https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc#newcode672 chrome/browser/extensions/process_manager_browsertest.cc:672: EXPECT_EQ(IfExtensionsIsolated(1, 0), pm->GetAllFrames().size()); What about testing for not ...
4 years, 3 months ago (2016-09-15 18:36:01 UTC) #10
alexmos
https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc#newcode672 chrome/browser/extensions/process_manager_browsertest.cc:672: EXPECT_EQ(IfExtensionsIsolated(1, 0), pm->GetAllFrames().size()); On 2016/09/15 18:36:01, nasko (slow) wrote: ...
4 years, 3 months ago (2016-09-15 18:40:12 UTC) #11
nasko
https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc#newcode672 chrome/browser/extensions/process_manager_browsertest.cc:672: EXPECT_EQ(IfExtensionsIsolated(1, 0), pm->GetAllFrames().size()); On 2016/09/15 18:40:12, alexmos wrote: > ...
4 years, 3 months ago (2016-09-15 18:50:03 UTC) #12
alexmos
https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc#newcode672 chrome/browser/extensions/process_manager_browsertest.cc:672: EXPECT_EQ(IfExtensionsIsolated(1, 0), pm->GetAllFrames().size()); On 2016/09/15 18:50:03, nasko (slow) wrote: ...
4 years, 3 months ago (2016-09-15 20:51:42 UTC) #15
Devlin
lgtm! https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc#newcode50 chrome/browser/extensions/process_manager_browsertest.cc:50: "var blob = new Blob(['<html><body>" + content + ...
4 years, 3 months ago (2016-09-15 21:05:10 UTC) #16
alexmos
Thanks for reviewing! https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc File chrome/browser/extensions/process_manager_browsertest.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/extensions/process_manager_browsertest.cc#newcode50 chrome/browser/extensions/process_manager_browsertest.cc:50: "var blob = new Blob(['<html><body>" + ...
4 years, 3 months ago (2016-09-15 21:45:59 UTC) #19
alexmos
https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/net/chrome_extensions_network_delegate.cc File chrome/browser/net/chrome_extensions_network_delegate.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/net/chrome_extensions_network_delegate.cc#newcode173 chrome/browser/net/chrome_extensions_network_delegate.cc:173: url::Origin(url).scheme() == extensions::kExtensionScheme) { On 2016/09/15 21:45:59, alexmos wrote: ...
4 years, 3 months ago (2016-09-15 21:51:40 UTC) #20
Devlin
https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/net/chrome_extensions_network_delegate.cc File chrome/browser/net/chrome_extensions_network_delegate.cc (right): https://codereview.chromium.org/2345473003/diff/40001/chrome/browser/net/chrome_extensions_network_delegate.cc#newcode173 chrome/browser/net/chrome_extensions_network_delegate.cc:173: url::Origin(url).scheme() == extensions::kExtensionScheme) { On 2016/09/15 21:45:59, alexmos wrote: ...
4 years, 3 months ago (2016-09-15 21:56:48 UTC) #21
alexmos
sky@: can you please review chrome_extensions_network_delegate.cc for OWNERS?
4 years, 3 months ago (2016-09-15 22:04:40 UTC) #23
alexmos
Actually, agl@ will review it for OWNERS.
4 years, 3 months ago (2016-09-15 22:05:27 UTC) #25
agl
RS LGTM
4 years, 3 months ago (2016-09-15 22:11:15 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2345473003/60001
4 years, 3 months ago (2016-09-15 22:13:17 UTC) #30
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 3 months ago (2016-09-15 22:41:12 UTC) #31
commit-bot: I haz the power
4 years, 3 months ago (2016-09-15 22:45:09 UTC) #33
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/4bfdc9292a6161980ba9a7a469d2d4515bebc6dd
Cr-Commit-Position: refs/heads/master@{#419019}

Powered by Google App Engine
This is Rietveld 408576698