New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 924204 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug
Proj-Servicification

Blocking:
issue 786673



Sign in to add a comment

Sec-Fetch-Site shouldn't come from untrustworthy renderers

Project Member Reported by lukasza@chromium.org, Today (11 hours ago)

Issue description

Sec-Fetch-Site currently comes from the following 3 places:
1. content/browser/worker_host/worker_script_fetch_initiator.cc - browser - good!
2. content/browser/frame_host/navigation_request.cc - browser - good!
3. third_party/blink/renderer/core/loader/base_fetch_context.cc - renderer - bad!

We should move #3 to the NetworkService process (where it can be based on |request_initiator_site_lock|).
 

Comment 1 by lukasza@chromium.org, Today (11 hours ago)

Components: Blink>SecurityFeature
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows

Comment 2 by lukasza@chromium.org, Today (11 hours ago)

Summary: Sec-Fetch-Site shouldn't come from untrustworthy renderers (was: Sec-Fetch-Site shouldn't can from untrustworthy renderers)

Comment 3 by lukasza@chromium.org, Today (11 hours ago)

Cc: jam@chromium.org mmenke@chromium.org toyoshim@chromium.org
+mmenke@, +jam@ for NetworkService questions
+toyoshim@ because OOR-CORS probably is/was in a similar situation

Currently Sec-Fetch-Site is hidden behind blink::RuntimeEnabledFeatures::SecMetadataEnabled() (this is an "experimental" feature according to third_party/blink/renderer/platform/runtime_enabled_features.json5).  How would one spell that "is Sec-Metadata feature enabled" check inside the NetworkService world?  I guess we would need a new, separate base::Feature for that?

Comment 4 by lukasza@chromium.org, Today (11 hours ago)

Components: Internals>Services>Network

Comment 5 by mmenke@chromium.org, Today (10 hours ago)

You'd need to pass it to net through a new API (Assuming it isn't constant for the lifetime of Chrome, in which case, it could be passed as a command line flag, I guess).  Using base::Feature isn't really a great way to pass configuration data to the network service, unless it's something that's experimental but we're planning to always have on in the future.

Sign in to add a comment