| Index: chrome/browser/chrome_content_browser_client.cc
|
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
| index 18dd4c317acea99346143bccf39206e1b75a18cc..635a59ce479d20aa601d709df3dffcc0d0b6ffbf 100644
|
| --- a/chrome/browser/chrome_content_browser_client.cc
|
| +++ b/chrome/browser/chrome_content_browser_client.cc
|
| @@ -1150,6 +1150,17 @@ bool ChromeContentBrowserClient::ShouldAllowOpenURL(
|
| extension, url.path()))
|
| return false;
|
| }
|
| +
|
| + // Do not allow chrome://chrome-signin navigate to other chrome:// URLs, since
|
| + // the signin page may host untrusted web content.
|
| + if (from_url.GetOrigin().spec() == chrome::kChromeUIChromeSigninURL &&
|
| + url.SchemeIs(content::kChromeUIScheme) &&
|
| + url.host() != chrome::kChromeUIChromeSigninHost) {
|
| + VLOG(1) << "Blocked navigation to " << url.spec() << " from "
|
| + << chrome::kChromeUIChromeSigninURL;
|
| + return false;
|
| + }
|
| +
|
| return true;
|
| }
|
|
|
|
|