Re: FireFox re-using HTTP2 connection to a wrong IP address & MITM attacks.
Daniel Stenberg <[email protected]> Thu, 9 Jun 2016 12:08:34 +0200 (CEST)
| Newsgroups | gmane.comp.mozilla.devel.netlib |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 9 Jun 2016, [email protected] wrote: > > host_1.domain.com resolves to IP_ADDR_1 (v4) and IP_ADDR_2 (v6) > > host_2.domain.com resolves to IP_ADDR_1 (v4). > > both servers support SPDY/ HTTP2 and share the sam wildcard SSL certificate for *.domain.com > User opening secure HTTPS connection to https://host_1.domain.com and FF > successfully opening a page, connecting to IP_ADDR_2 (because IPv6 usually > preferred over IPv4 connections). > > After that user trying to open URL https://host_2.domain.com, but FireFox > will NOT connect to IP_ADDR_1 !!!! Instead, FireFox is going to reuse it's > existing connection to IP_ADDR_2 (despite the fact it does NOT belong to > host_2.domain.com). As you know, but not everybody reading this email might be up to speed with, Firefox does this to keep the number of TCP connections to a minimum when it speaks HTTP/2. "unsharding" as we sometimes call it! =) They both have a cert that covers both hosts and they both share at least one IP address. And they speak HTTP/2, so in the rare occasion that this would be a wrong assumption the server can return 421. > Patrick claims that the fact that both domains are sharing "IP_ADDR_1", it > is also "Ok" to assume that all the rest of IP addresses of host_1 can be > used to send requests to host_2. Not only beause of the IP address overlap. The cert also suggests this. > To me it sounds like a complete nonsense and such behaviour most likely will > lead to MITM vulnerability. I don't see how a malicious player can MITM this (in any ways not already existing). Your scenario in the bug was a bit overboard and involved you installing a malicous party's CA cert in your browser, and if you do that you will certainly be a victim of MITM even easier than using this approach. Can you explain a MITM scenario without you shooting yourself in the foot first? -- / daniel.haxx.se