On Thu, Aug 19, 2021 at 2:28 PM Matt Menke <mme...@google.com> wrote:

> I created the title using Chrome Status's deprecation template, so any
> confusion should be blamed on that.
>

+Jason Robbins <jrobb...@google.com> - on the title issues.


>
> I used the "Draft Intent to Deprecate and Remove email" button, and assume
> I'd need to do a "Draft Intent to Ship email" before shipping to
> stable, after a 50% trial on prerelease channels.
>

There's no need for 2 emails for removals. We can discuss the full
deprecation, experimentation/trials and removal on stable here.


>
> On Thu, Aug 19, 2021 at 3:15 AM Yoav Weiss <yoavwe...@chromium.org> wrote:
>
>>
>> On Wed, Aug 18, 2021 at 11:36 PM Matt Menke <mme...@google.com> wrote:
>>
>>>
>>>
>>> On Wed, Aug 18, 2021 at 5:23 PM Yoav Weiss <yoavwe...@chromium.org>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Aug 18, 2021 at 11:18 PM Matt Menke <mme...@google.com> wrote:
>>>>
>>>>> On Wed, Aug 18, 2021 at 4:53 PM Yoav Weiss <yoavwe...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Aug 18, 2021 at 8:47 PM 'Matt Menke' via blink-dev <
>>>>>> blink-dev@chromium.org> wrote:
>>>>>>
>>>>>>> Contact emailsmme...@google.com
>>>>>>>
>>>>>>> ExplainerNone
>>>>>>>
>>>>>>> Specificationhttps://url.spec.whatwg.org/
>>>>>>>
>>>>>>> Summary
>>>>>>>
>>>>>>> Most hostnames that aren't valid IPv4 addresses, but end in numbers
>>>>>>> are treated as valid, and looked up via DNS (e.g., http://foo.127.1/).
>>>>>>> Per the Public Suffix List spec, the eTLD+1 of the hostname in that URL
>>>>>>> should be "127.1". If that is ever fed back into a URLs, "
>>>>>>> http://127.1/ <http://127.0.0.1/>" is mapped to "http://127.0.0.1/";
>>>>>>> by the URL spec, which seems potentially dangerous. "127.0.0.0.1" could
>>>>>>> also potentially be used to confuse users. We want to reject URLs with
>>>>>>> these hostnames.
>>>>>>>
>>>>>>>
>>>>>>> Blink componentInternals>Network>DNS
>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3EDNS>
>>>>>>>
>>>>>>> Motivation
>>>>>>>
>>>>>>> Most hostnames that aren't valid IPv4 addresses, but end in numbers
>>>>>>> are treated as valid hostnames, and looked up via DNS. Example 
>>>>>>> hostnames:
>>>>>>> 127.0.0.0.1, foo.0.1, 10.0.0.09, 08.1.2.3. These can be problematic for 
>>>>>>> the
>>>>>>> following reason: * "http://foo.127.1/"; has an eTLD+1 of "127.1",
>>>>>>> per the public suffix list spec. If that's ever used as the hostname in 
>>>>>>> a
>>>>>>> new URL, however, as in "http://127.1 <http://127.0.0.1/>", it will
>>>>>>> then get mapped to "http://127.0.0.1/";, per the URL spec, which is
>>>>>>> a different host, which is not safe. * "http://127.0.0.0.1"; and "
>>>>>>> http://1.2.3.09";, both of which are looked up via DNS rather than
>>>>>>> failing or being treated as IPv4 hostnames, also seem potentially
>>>>>>> confusing. While no exploit is currently known here, we want to remove
>>>>>>> support for these as a preventative security measure. The URL spec has 
>>>>>>> been
>>>>>>> updated so that any URL with a hostname ending in a number that's not an
>>>>>>> IPv4 address (including, e.g., http://foo.1./, but not
>>>>>>> http://foo.1../) is considered invalid. Since this is part of the
>>>>>>> URL spec, not the DNS spec, we want to reject these URLs are the GURL
>>>>>>> layer, for URLs with appropriate protocols (http, https, ws, wss, file).
>>>>>>> For consistency, we should also fail DNS lookup attempts of these sorts 
>>>>>>> of
>>>>>>> hostnames.
>>>>>>>
>>>>>>>
>>>>>>> Initial public proposalhttps://github.com/whatwg/url/pull/619
>>>>>>>
>>>>>>> TAG reviewNot required for an Intent to Deprecate, I believe.
>>>>>>>
>>>>>>> TAG review statusNot applicable
>>>>>>>
>>>>>>> Risks
>>>>>>>
>>>>>>>
>>>>>>> Interoperability and Compatibility
>>>>>>>
>>>>>>> Any URL with an affected hostname will fail to load, and will need
>>>>>>> to be migrated to another hostname. URLs of this form do appear to be in
>>>>>>> use, though it's not clear under what circumstances. No entry in the 
>>>>>>> public
>>>>>>> suffix list is affected. Affected URLs make up no more than 0.0003% of
>>>>>>> hostnames looked up via the host resolver on any platform, and are
>>>>>>> basically not used in any file URLs, according to our metrics.
>>>>>>>
>>>>>>
>>>>>> Do we have reason to believe these hostnames are not legitimate ones?
>>>>>>
>>>>>
>>>>> Unfortunately, we have no insight into them - they could be mistyped
>>>>> URLs sent to typo squatting ISPs that OSX lets through but the Windows 
>>>>> host
>>>>> resolver blocks, and various flavors of Linux treat differently.  Or they
>>>>> could be mapped via a hosts file, or they could be hostnames that only
>>>>> resolve on public networks.  Could be some network tool that uses them 
>>>>> when
>>>>> installed locally, but is only available on certain platforms.  No reason
>>>>> to think one possibility is more likely than the others.
>>>>>
>>>>
>>>> Do we have UKM for them that would enable us to test a random sample?
>>>> I'm concerned about blocking those hostnames if they are legitimate, as
>>>> that's something that a web developer can't do anything about.
>>>> So even if the number of hosts is small, I'd like to get more certainty
>>>> that they are *not* legitimate hosts before blocking them.
>>>>
>>>
>>> We have UKM on their number (0.0003% of DNS lookups on OSX, less
>>> elsewhere - we can't meaningfully instrument percent of created GURLs), but
>>> we don't have their hostnames, what they resolve to, or know anything else
>>> about them, unfortunately.
>>>
>>> Navigation to a subset of these as frame URLs were broken at one point -
>>> I'm pretty sure the breakage even made it to stable:
>>> https://crbug.com/1173238.  There were no reports of problems.  Only
>>> non-IPv4 URLs where the last two components were broken, though, and it
>>> didn't affect subresources.  On OSX and Android, over 99% of successfully
>>> resolved problematic hostnames fit into that bucket, though on Linux, only
>>> about 2% do.
>>>
>>> That doesn't give us any hard conclusions, except they're either not
>>> deliberate navigations on OSX/Android, or they're not navigations.
>>>
>>
>> :|
>>
>> One more question: Is this an intent to Prototype or an intent to
>> deprecate? The title is a bit unclear..
>>
>>>
>>>
>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>> On OSX and Android, about 90% of host resolver lookups for these
>>>>>>> hostnames succeed, 60% do on Linux, and 2% on Windows and ChromeOS.
>>>>>>>
>>>>>>
>>>>>> Do you know where those failures are coming from?
>>>>>>
>>>>>
>>>>> Could be typos, could be the Windows and ChromeOS host resolvers don't
>>>>> let them through.  Since we've had no filed bugs about them, I suspect the
>>>>> failures are not deliberate navigations or intended network requests.  I'm
>>>>> much more interested in where the successes are coming from, myself.
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>> To allow for emergency disabling in case of wider than expected
>>>>>>> breakage, I intend to add a feature for it, and do a 50% field trial on
>>>>>>> pre-release channels, though plan to just enable the feature, rather 
>>>>>>> than
>>>>>>> do a gradual rollout to stable, given the low usage.
>>>>>>>
>>>>>>>
>>>>>>> Gecko: Positive (
>>>>>>> https://github.com/whatwg/url/pull/619#issuecomment-890826499
>>>>>>> <https://www.chromestatus.com/admin/features/launch/5679790780579840/1?intent=1>
>>>>>>> )
>>>>>>>
>>>>>>
>>>>>> Can you file an official position request?
>>>>>> https://bit.ly/blink-signals
>>>>>>
>>>>>
>>>>> Done for Mozilla:
>>>>> https://github.com/mozilla/standards-positions/issues/568
>>>>>
>>>>> Should I also do this for WebKit as well?  They have in process CLs,
>>>>> so not sure if it's still needed.
>>>>>
>>>>
>>>> Agree that in-flight patches for WebKit are a sufficient positive
>>>> signal.
>>>>
>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> WebKit: In development (
>>>>>>> https://bugs.webkit.org/show_bug.cgi?id=228826)
>>>>>>>
>>>>>>> Web developers: No signals
>>>>>>>
>>>>>>> Activation
>>>>>>>
>>>>>>> This breaks anything using one of these domains, and requires
>>>>>>> migrating to other hostnames.
>>>>>>>
>>>>>>>
>>>>>>> Security
>>>>>>>
>>>>>>> None
>>>>>>>
>>>>>>>
>>>>>>> Debuggability
>>>>>>>
>>>>>>> These will act like any other invalid URL. Behavior is context
>>>>>>> dependent. Since this is logic deep within GURL, and GURLs are created 
>>>>>>> in a
>>>>>>> great many places, console warnings specifically for this seem not
>>>>>>> practical.
>>>>>>>
>>>>>>>
>>>>>>> Is this feature fully tested by web-platform-tests
>>>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>>>>>> ?No.  Javascript URL construction is tested, but URLs are used in a
>>>>>>> great many other places, which don't have test coverage, since DNS 
>>>>>>> lookups
>>>>>>> for these domains must succeed in the first place for the tests to be
>>>>>>> meaningful.
>>>>>>>
>>>>>>> Flag name
>>>>>>>
>>>>>>> Requires code in //chrome?False
>>>>>>>
>>>>>>> Tracking bughttps://crbug.com/1237032
>>>>>>>
>>>>>>> Estimated milestones
>>>>>>> DevTrial on desktop 95
>>>>>>> DevTrial on Webview 95
>>>>>>>
>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>> https://www.chromestatus.com/feature/5679790780579840
>>>>>>>
>>>>>>> This intent message was generated by Chrome Platform Status
>>>>>>> <https://www.chromestatus.com/>.
>>>>>>>
>>>>>>> --
>>>>>>> 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/CAEK7mvq%2Bfnau%3DE%2BONhe0kr9HOpN84eCpoub84%3DswKzPkrGzi5A%40mail.gmail.com
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEK7mvq%2Bfnau%3DE%2BONhe0kr9HOpN84eCpoub84%3DswKzPkrGzi5A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>

-- 
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/CAL5BFfWB4wVuGshgPaLVXp%3DYsWUiXgJhUABD3ZFJ9xbhg1J3ww%40mail.gmail.com.

Reply via email to