Thanks for the responses!

Joe: the `PrivateNetworkAccessSendPreflights` feature flag will be enabled
by default in M98 (if this intent gets 3 LGTMs). The
`PrivateNetworkAccessRespectPreflightResults` will be enabled by default
later, I am aiming for M101.

On Tue, Nov 30, 2021 at 11:42 PM Erik Anderson <erik.ander...@microsoft.com>
wrote:

> Given this specifically calls out subresources and the design doc lists
> “the case of navigations” as “followup work,” you’re explicitly not
> touching how navigations (top-level or an iframe) work at this stage,
> correct?
>

That is correct.


> I expect the most significant compat impact to come from Windows apps that
> delegate to the default browser to do a login flow where the last step of
> the auth flow is making a request to a localhost HTTP server to pass back
> to the app an auth ticket.
>
>
>
> I anticipate most of those are top-level navigations, but my experience
> with the first version of Microsoft Edge (pre-Chromium) which prevented
> localhost loopback for subresources (including iframes), there are apps
> that handle it some other way which we broke. Some of those may have been
> passing it back via an iframe navigation (I don’t recall—it was 6+ years
> ago) in which case they’ll potentially still work after this change.
>

If they indeed use either top-level or iframe navigations, then they will
be unaffected by this change.


> The Microsoft Edge team will work to reach out to Microsoft teams that are
> potentially impacted. If the roadmap is going to eventually force a
> preflight before allowing a navigation to a private network origin, we
> would ideally include clear guidance on what’s likely coming there as well.
> Is there a general timeline you have in mind for expanding this to
> navigations as well?
>

I don't have a very clear timeline yet, but I wish to tackle nested
navigations in particular in M100.

Cheers,
Titouan


> *From:* 'Titouan Rigoudy' via blink-dev <blink-dev@chromium.org>
> *Sent:* Monday, November 29, 2021 7:37 AM
> *To:* blink-dev <blink-dev@chromium.org>
> *Subject:* [blink-dev] Intent to Ship: Private Network Access preflight
> requests for subresources
>
>
> Contact emails
>
> tito...@chromium.org, v...@chromium.org, cl...@chromium.org
>
>
> Explainer
>
> https://github.com/WICG/private-network-access/blob/main/explainer.md
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FWICG%2Fprivate-network-access%2Fblob%2Fmain%2Fexplainer.md&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469545884%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=2O5hAhhk14yQvQKTVhQJ4IYIrdwuM6w6cOHvkf6CXkI%3D&reserved=0>
>
>
> Specification
>
> https://wicg.github.io/private-network-access/
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwicg.github.io%2Fprivate-network-access%2F&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469545884%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=jJlAWDJEN8BL5LbJHVZYwOuYrd6cW1HEl%2FyW74NagB8%3D&reserved=0>
>
>
> Design docs
>
>
>
> https://docs.google.com/document/d/1FYPIeP90MQ_pQ6UAo0mCB3g2Z_AynfPWHbDnHIST6VI/edit
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1FYPIeP90MQ_pQ6UAo0mCB3g2Z_AynfPWHbDnHIST6VI%2Fedit&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469545884%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=qciJpdsRPa%2FlD61vDfbxProY3%2BU29651d5u6GxvyWfE%3D&reserved=0>
>
>
> Summary
>
> Sends a CORS preflight request ahead of any private network requests for
> subresources, asking for explicit permission from the target server. A
> private network request is any request from a public website to a private
> IP address or localhost, or from a private website (e.g. intranet) to
> localhost. Sending a preflight request mitigates the risk of cross-site
> request forgery attacks against private network devices such as routers,
> which are often not prepared to defend against this threat.
>
>
>
>
> Blink component
>
> Blink>SecurityFeature>CORS>PrivateNetworkAccess
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.chromium.org%2Fp%2Fchromium%2Fissues%2Flist%3Fq%3Dcomponent%3ABlink%253ESecurityFeature%253ECORS%253EPrivateNetworkAccess&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469545884%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2BpzABpjfTWfZBd1EXZSnRA5ZxzMBGW205bfxDJbIQeE%3D&reserved=0>
>
>
> TAG review
>
> https://github.com/w3ctag/design-reviews/issues/572
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3ctag%2Fdesign-reviews%2Fissues%2F572&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469595876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=jXbqAH3Yorpra2PYzN9MlrV0ciU%2B63GcXmixjqlojT4%3D&reserved=0>
>
>
> TAG review status
>
> Pending
>
>
> Risks
>
>
>
>
> Interoperability and Compatibility
>
> The main interoperability risk, as always, is if other browser engines do
> not implement this. Compat risk is straightforward: web servers that do not
> handle the new preflight requests will eventually break, once the feature
> ships. The plan to address this is as follows: 1. Send preflight request,
> ignore result, always send actual request. Failed preflight requests will
> result in a warning being shown in devtools. 2. Wait for 3 milestones. 3.
> Gate actual request on preflight request success, with deprecation trial
> for developers to buy some more time. 4. End deprecation trial 4 milestones
> later. UseCounters:
> https://chromestatus.com/metrics/feature/timeline/popularity/3753
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Fmetrics%2Ffeature%2Ftimeline%2Fpopularity%2F3753&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469595876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=4kny0InSg7HlGy0Bd2lrVK9XRqK3cW3niX%2FeEOcwP5o%3D&reserved=0>
> https://chromestatus.com/metrics/feature/timeline/popularity/3755
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Fmetrics%2Ffeature%2Ftimeline%2Fpopularity%2F3755&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469595876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Z0n76iP4euzqgKvvHVgS1oe0YQ%2FE8yIfjS5UYofWtUs%3D&reserved=0>
> https://chromestatus.com/metrics/feature/timeline/popularity/3757
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Fmetrics%2Ffeature%2Ftimeline%2Fpopularity%2F3757&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469595876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=a0b0nuZpDucjYw0L75zG7WarXGifUU%2F3BMuyYIkE6Xs%3D&reserved=0>
> The above measure pages that make at least one private network request for
> which we would now send a preflight request.
>
>
>
> Gecko: Worth prototyping (
> https://github.com/mozilla/standards-positions/issues/143
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmozilla%2Fstandards-positions%2Fissues%2F143&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469595876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Pw0IcGEOTCSpCpHS5dmoMmr20hYCzlJtjEZIiRTtDr8%3D&reserved=0>
> )
>
> WebKit: No signal (
> https://lists.webkit.org/pipermail/webkit-dev/2021-November/032040.html
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.webkit.org%2Fpipermail%2Fwebkit-dev%2F2021-November%2F032040.html&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469645885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=FzF7ajSmo9mb6EHYGcWIcEMar%2F2He6aQmkn6NTFEkjY%3D&reserved=0>)
> Pending response.
>
> Web developers: No signals Anecdotal evidence so far suggests that most
> web developers are OK with this new requirement, though some do not control
> the target endpoints and would be negatively impacted.
>
> Other signals:
>
>
> Ergonomics
>
> None.
>
>
>
>
> Activation
>
> Gating access to the private network overnight on preflight requests would
> likely result in widespread breakage. This is why the plan is to first send
> requests but not act on their result, giving server developers time to
> implement code handling these requests. Deprecation warnings will be
> surfaced in DevTools to alert web/client developers when the potential for
> breakage later on is detected. Enforcement will be turned on later (aiming
> for 3 milestones), along with a deprecation trial for impacted web
> developers to buy themselves some more time. Experience suggests a large
> fraction of developers will not notice the advance deprecation warnings
> until things break.
>
>
>
>
> Security
>
> This change aims to be security-positive, preventing CSRF attacks against
> soft and juicy targets such as router admin interfaces. DNS rebinding
> threats were of particular concern during the design of this feature:
> https://docs.google.com/document/d/1FYPIeP90MQ_pQ6UAo0mCB3g2Z_AynfPWHbDnHIST6VI/edit#heading=h.189j5gnadts9
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1FYPIeP90MQ_pQ6UAo0mCB3g2Z_AynfPWHbDnHIST6VI%2Fedit%23heading%3Dh.189j5gnadts9&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469645885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=z9BSaPSAMNIY82H21ZQUY0HSq8OfHhQhF%2BtmTHZWlIE%3D&reserved=0>
>
>
>
>
> Debuggability
>
> Relevant information (client and resource IP address space) is already
> piped into the DevTools network panel. Deprecation warnings and errors will
> be surfaced in the DevTools issues panel explaining the problem when it
> arises.
>
>
>
>
> Is this feature fully tested by web-platform-tests
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromium.googlesource.com%2Fchromium%2Fsrc%2F%2B%2Fmaster%2Fdocs%2Ftesting%2Fweb_platform_tests.md&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469645885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Zg263Rtv7aA9HqmCYQffLwsZsr2KPR2%2Bw0XTZ4LJ70k%3D&reserved=0>
> ?
>
> Yes
>
>
> DevTrial instructions
>
> https://github.com/WICG/private-network-access/blob/main/HOWTO.md
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FWICG%2Fprivate-network-access%2Fblob%2Fmain%2FHOWTO.md&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469645885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=m74fa8bhe5yZbht8Nv6MDGhocnPCwXs3HudQrll3Qds%3D&reserved=0>
>
>
> Flag name
>
> PrivateNetworkAccessRespectPreflightResults
>
>
> Requires code in //chrome?
>
> False
>
>
> Tracking bug
>
> https://crbug.com/591068
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcrbug.com%2F591068&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469645885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=qYWCnSQm8bSFOtrfCBoCa9VpnGiZrYFUYKli0Dj7n54%3D&reserved=0>
>
>
> Launch bug
>
> https://crbug.com/1274149
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcrbug.com%2F1274149&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469695872%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=QE6elUu1aGLGG1g5v5WfMMrvTym1g%2FvvcVKgF7%2BjWps%3D&reserved=0>
>
>
> Estimated milestones
>
> DevTrial on desktop
>
> 98
>
>
>
> DevTrial on android
>
> 98
>
>
>
>
>
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/5737414355058688
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Ffeature%2F5737414355058688&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469695872%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=tMVsoY3tzjDyiMRGtXCEyEXexuoD8C9NGJksi9M8M4o%3D&reserved=0>
>
>
> Links to previous Intent discussions
>
> Intent to prototype:
> https://groups.google.com/a/chromium.org/g/blink-dev/c/PrB0xnNxaHs/m/jeoxvNjXCAAJ
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FPrB0xnNxaHs%2Fm%2FjeoxvNjXCAAJ&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469695872%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nHjAv5x%2Fxby8ewwlGT14uYly1f5ER8ymv9z3PsxYuVc%3D&reserved=0>
>
>
> This intent message was generated by Chrome Platform Status
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.chromestatus.com%2F&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469695872%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=bmwaT3UY8kBBgnzDOq8FRIbShGwTiod5LD09iXY48jQ%3D&reserved=0>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPATO9fdAK%2BnrTfUzug8ub_DhV_LE0b7XrgZ7j5%2Bj_BHtW-FXg%40mail.gmail.com
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fd%2Fmsgid%2Fblink-dev%2FCAPATO9fdAK%252BnrTfUzug8ub_DhV_LE0b7XrgZ7j5%252Bj_BHtW-FXg%2540mail.gmail.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=04%7C01%7Cerik.anderson%40microsoft.com%7Cd326417d74594f3438d708d9b34e230f%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637737970469695872%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=q%2BT5FgKhsJvINET6z8Vr9dcDx5TRgQcUFLz7esn2qSs%3D&reserved=0>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPATO9efMf0DnC10j2%3D9AYiDeTjpnz6KaHbVJcgmBeQmdnNUtQ%40mail.gmail.com.

Reply via email to