Interesting! What happens then in the "successful resolution" case Matt
mentioned?

On Thu, Aug 19, 2021 at 2:39 PM Harald Alvestrand <h...@google.com> wrote:

> Department of odd facts:
>
> - The ICANN rules for new TLDs forbid all top level domain names that
> start with a digit
> - The IDNA rules for bidirectional scripts forbid domain names that start
> with a digit (Unicode bidi afficandoes will know why)
> - The only real reason why leading digits aren't outlawed in domain names
> at the second level is 3com.
>
> It seems safe to say that no legitimate fully qualified hostname will ever
> have a last component consisting only of digits.
> That means the only time we could get a legitimate hostname is for
> something that has to be resolved via a search path.
>
>
> On Thu, Aug 19, 2021 at 2:33 PM Yoav Weiss <yoavwe...@chromium.org> wrote:
>
>>
>>
>> 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
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWB4wVuGshgPaLVXp%3DYsWUiXgJhUABD3ZFJ9xbhg1J3ww%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/CAL5BFfXYGVeqKtnOOX5Fwog__cXL_bQ35NA_X8yw6Gp0D7je6g%40mail.gmail.com.

Reply via email to