-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Process Isolation Bypass via navigating to about:* context
https://bugs.webkit.org/show_bug.cgi?id=257348 rdar://109853048 Reviewed by Chris Dumez and J Pascoe. This patch fixes an issue where we will never swap processes when navigating from an about:* page. A compromised WebContent process could leverage this behavior to avoid swapping processes when navigating to a cross-origin domain. This is fixed by checking the following when navigating from an about:* page. - The page has not committed a provisional load to a URL that isn't about:*. - The source process last loaded a domain from the same origin as the domain we are navigating to. If neither of these two conditions are met, we won’t reuse the process. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didExplicitOpenForFrame): (WebKit::WebPageProxy::didCommitLoadForFrame): * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::processForNavigationInternal): * Source/WebKit/UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::didCommitMeaningfulProvisionalLoad): (WebKit::WebProcessProxy::hasCommittedAnyMeaningfulProvisionalLoads const): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Originally-landed-as: 259548.792@safari-7615-branch (f52bc7e). rdar://113174653 Canonical link: https://commits.webkit.org/266648@main
- Loading branch information
1 parent
cfa0760
commit 0d4cfda
Showing
4 changed files
with
73 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters