LGTM3. Compat risk seems minimal (and yes likely below the bar needed for
API owner approval, but more transparency doesn't hurt).

On Fri, Jun 20, 2025 at 12:25 AM 'Erik Anderson' via blink-dev <
blink-dev@chromium.org> wrote:

> There was no new API here and thus no API detection mechanism. It’s just a
> bug fix that ensures sockets are not rapidly reused toward the beginning of
> the available range.
>
>
>
> Even when the bug is present, most networks work fine; it’s stateful
> off-device middleboxes that might not see that the connection got
> terminated and then get confused by a new connection from the same source
> port. The use of this port randomization flag was shipped before, even with
> the Windows bug; it took a couple of major Chrome releases before it was
> determined it should be turned back off. That was the right decision, but
> that’s also an indication that the risk of extreme breakage is low.
>
>
>
> The bug fix shipped has shipped with the Windows monthly security update
> at least as early as November 2023 (some releases earlier). At this point,
> only a device that hasn’t taken a security update from Windows for 18+
> months would see the buggy behavior. I suppose if you wanted to be
> extremely paranoid, you could look at the fourth version component on those
> older versions to check for that update. Or just scoping to 22H2+ is
> reasonable too.
>
>
>
> *From:* Ari Chivukula <aric...@chromium.org>
> *Sent:* Thursday, June 19, 2025 6:50 PM
> *To:* Will Harris <w...@chromium.org>; Erik Anderson <
> erik.ander...@microsoft.com>
> *Cc:* Jeremy Roman <jbro...@chromium.org>; Domenic Denicola <
> dome...@chromium.org>; blink-dev <blink-dev@chromium.org>; Andrew
> Williams <awil...@chromium.org>; Mike Taylor <miketa...@chromium.org>
> *Subject:* [EXTERNAL] Re: [blink-dev] Re: Intent to Ship: Randomizing TCP
> Port Allocation on Windows
>
>
>
> Not to my knowledge, but I'm adding @erik.ander...@microsoft.com
> <erik.ander...@microsoft.com> in case there is something I missed.
>
>
>
> I'm fine with starting with 22H2+ only for now, and adding 20H1+ only if
> there's a reliable way to detect the fix or metrics on fix rollout % that
> are convincing.
>
>
>
> ~ Ari Chivukula (Their/There/They're)
>
>
>
> On Thu, Jun 19, 2025, 14:21 Will Harris <w...@chromium.org> wrote:
>
> in general, it's preferable to do a capability test via an OS API rather
> than simply gate on Windows version. Does the new API that Microsoft added
> (and backported) provide a way for the OS to signal that this
> better/working API is available?
>
>
>
> Will
>
>
>
> On Thu, Jun 19, 2025 at 11:15 AM Ari Chivukula <aric...@chromium.org>
> wrote:
>
> That's probably possible, though hopefully they have installed system
> updates in the past year. We could just target 2022H2 and later if needed.
>
>
>
> ~ Ari Chivukula (Their/There/They're)
>
>
>
>
>
> On Thu, Jun 19, 2025 at 10:54 AM Jeremy Roman <jbro...@chromium.org>
> wrote:
>
>
>
>
>
> On Thu, Jun 19, 2025 at 12:10 AM Domenic Denicola <dome...@chromium.org>
> wrote:
>
> I believe this should be completely unobservable to web authors, right?
> (Apart from maybe fewer or more network errors.)
>
>
>
> If so, I don't think this needs any LGTMs, as it fits well under the 
> Web-developer-facing
> change to existing behavior
> <https://www.chromium.org/blink/launching-features/#behavior-changes> 
> category.
> (Which is... confusingly named
> <https://github.com/GoogleChrome/chromium-dashboard/issues/5145>.) But,
> in case it helps, LGTM1.
>
> On Thursday, June 19, 2025 at 12:12:34 AM UTC+9 Ari Chivukula wrote:
>
> *Contact emails*
>
> aric...@chromium.org, awil...@chromium.org, miketa...@chromium.org
> Explainer
>
> None
> Specification
>
> None
>
>
>
> *Summary*
>
> This launch enables TCP port randomization on versions of Windows (2020 H1
> or later) where we do not expect to see issues with re-use of prior ports
> occurring too fast (causing rejection due to timeouts on port re-use). The
> rapid port re-use issue arises from the Birthday problem
> <https://en.wikipedia.org/wiki/Birthday_problem>, where the probability
> of randomly re-picking a port already seen rapidly converges with 100% for
> each new port chosen when compared to port re-use in a sequential model.
>
>
>
> *Blink component*
>
> Blink>Network
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%22>
>
>
>
> *TAG review*
>
> None
>
>
>
> *TAG review status*
>
> Not applicable
>
>
>
> *Motivation*
>
> When port randomization is disabled (the default), sites are able to count
> the amount of connections opened by other tabs if they check the TCP port
> used for new connections before and after opening another window. This
> knowledge can be used to glean information about other sites like whether
> they are logged in or not.
>
>
>
> *Risks*
>
>
>
> *Interoperability and Compatibility*
>
> This launch only impacts Windows, and should not cause compatibility
> issues as Microsoft backported their port randomization fix
> <https://chromium-review.googlesource.com/c/chromium/src/+/5464674> to
> Windows 10, 2020 H1 and tested it in Edge.
>
>
>
> Is it possible that we have users on versions >= 2020H1, < 2022H2 but who
> have not received the backported fix (e.g., because they have not installed
> the applicable update)? Would they encounter brokenness in Chrome?
>
>
>
>
>
> Chrome previously attempted to roll this out in 2021 but ran into (since
> resolved) issues where rapid port re-use caused network errors.
>
>
>
> Rollout on linux isn’t needed as port randomization is enabled by default
> while on macOS an issue similar to the one on Windows with rapid port
> re-use causing issues is still around.
>
>
>
> *Gecko:* Appears to inherit OS defaults
> <https://github.com/search?q=repo%3Amozilla-firefox%2Ffirefox+setsockopt&type=code&p=1>
>
>
>
> *WebKit:* Appears to inherit OS defaults
> <https://github.com/search?q=repo%3AWebKit%2FWebKit+setsockopt&type=code>
>
>
>
> *Web developers:* N/A
>
>
>
> *Debuggability*
>
> This will be gated behind the base::feature kTcpPortRandomizationWin, so
> if breakage is suspected that flag could be turned off to detect impact.
> For how to control feature flags, see this
> <https://source.chromium.org/chromium/chromium/src/+/main:base/feature_list.h;drc=159a65729cf8fca4d9f453d12d97ab6515360491;l=259>
> .
>
>
>
> *Measurement*
>
> The histogram Net.TCPSocket.PortReuseTimeWindows2.{IPType}.{Result} will
> be used to gauge whether port re-use timings fall too low, while
> Net.TcpConnectAttempt.Latency.{Result} will be used to detect increases in
> overall connection failure rates.
>
>
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?*
>
> No, just Windows
>
>
>
> *Is this feature fully tested by web-platform-tests?*
>
> No, as this is a blink networking focused change browser tests or unit
> tests are more likely.
>
>
>
> *Flag name on about://flags*
>
> None
>
>
>
> *Finch feature name*
>
> kTcpPortRandomizationWin
>
>
>
> *Rollout plan*
>
> This will be rolled out slowly to detect issues early and either change
> the version target or roll back. We don’t believe an experiment is needed
> or desired as the issues we saw before were not very prevalent, we likely
> need to go beyond 1% to get enough data on Windows to know if there’s still
> a problem.
>
>
>
> *Requires code in //chrome?*
>
> No
>
>
>
> *Tracking bug*
>
> https://crbug.com/40744069
>
>
>
> *Estimated milestones*
>
> 139
>
>
>
> *Link to entry on the Chrome Platform Status*
>
> https://chromestatus.com/feature/5106900286570496
>
>
>
> --
> 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 visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5ac125fa-3adf-4193-a1ff-1bf28f2f6020n%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5ac125fa-3adf-4193-a1ff-1bf28f2f6020n%40chromium.org?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 visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5DJXMP6tCc8KFK_sC07jAbxuX7e%3Dz2sBS-L%2BPU790vafdg%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5DJXMP6tCc8KFK_sC07jAbxuX7e%3Dz2sBS-L%2BPU790vafdg%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 visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5DL_yey6QTmOv2mSx-uSyvTHebqDt3s3sm_KMxRZwKSqaA%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5DL_yey6QTmOv2mSx-uSyvTHebqDt3s3sm_KMxRZwKSqaA%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 visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CH3PR00MB2435EDBEB1E8700F82B37597F47CA%40CH3PR00MB2435.namprd00.prod.outlook.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CH3PR00MB2435EDBEB1E8700F82B37597F47CA%40CH3PR00MB2435.namprd00.prod.outlook.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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY_Aw%2Bf4qA%2BHBLFhVp%3DOO1Js-VoJv-kkOEx_NP5_ZAXBug%40mail.gmail.com.

Reply via email to