Closed Bug 1895265 Opened 6 months ago Closed 6 months ago

https-only mode not honoring Exceptions

Categories

(Core :: DOM: Security, defect)

Firefox 125
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: dparks_2, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0

Steps to reproduce:

I upgraded to FF 125.0.3, close and reopen browser

Actual results:

the browser keeps forwarding HTTP to HTTPS endpoints where the website fails to load

Expected results:

the HTTP endpoint, that is registered as an HTTPS-Exception, should have been honored and the website loaded

Environment: Pi-hole DNS server, resolving to local 192.168.0.0/16 addresses where some local services do not have certificates and are not exposed publicly. These HTTP endpoints, that are listed as HTTPS-Exceptions, all worked fine before the upgrade to FF 125.0.3.
Example: http://status.downtime.local that resolves to an Uptime Kuma docker service.

The Bugbug bot thinks this bug should belong to the 'Core::DOM: Security' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → DOM: Security
Product: Firefox → Core

I don't believe we made any https-only changes in 125. We certainly didn't between 125.0.1 and 125.0.3, but I assume your "upgrade to 125.0.3" was from 124.x and that you likely missed the first couple of 125 releases.

fwiw seems to be working fine for me.

Malte: can you think of anything?

Flags: needinfo?(mjurgens)

Is your "example" a specific real case that doesn't work (the name is literally status.downtime.local), or is it an example in the "mysite.example" sense?

If the domains are associated with an external service via DNS games (something like how Plex did it), is it possible that domain added an HSTS header forcing HTTPS upgrades? With a new release we would ship updates to our HSTS preload list, which is derived from Chrome's. You can test those domains at https://hstspreload.org.

Flags: needinfo?(dparks_2)

A site-defined Strict-transport-security (HSTS) setting trumps the HTTPS-only settings, including exceptions.

Thank you @dveditz for responding.
Where a few days later and a couple of reboots, and FF appears to be working again as expected. I've been using the IP addresses for a few days and just now tried again with several FQDN endpoints --> DNS --> Nginx Reverse Proxy --> HTTP server/service and they are all working again. Not sure what the issues was, but no amount of cache clearing worked that first day after the upgrade to 125.x. And yes, I believe I upgraded from 124.x as you suggested. My endpoint example was literal, and as registered in Pi-Hole DNS as a CName record.
Just to add salt to the wound, MS Edge worked just fine, while i was having issues with FF.
I wish there was more to share, but unless there is something in the startup of FF after an upgrade, I guess you can cancel this bug request.

Flags: needinfo?(dparks_2)

As you suggested, I'll close this for now. If it happens again, I am happy to help investigating this issue.

This is a good reminder though that we wanted to relax HTTPS-First (if that is what caused this bug) for both:

a) domains that resolve to a private ip (bug 1858892)
b) domains that do not end with a valid tld (I've just filed bug 1896083 for that)

Status: UNCONFIRMED → RESOLVED
Closed: 6 months ago
Flags: needinfo?(mjurgens)
Resolution: --- → INCOMPLETE
See Also: → 1858892, 1896083

Thank you for the support @mjurgens.
As a homelab maintainer, and enterprise DevOps engineer professionally, I support that conversation. Any browser should recognize RFC1918 and known non-TLD endpoints and should always follow the HTTP or HTTPS port value that was originally passed.
IoT devices make a stronger case for this as well when certificates don't exist locally even if the device is using port 443. Users want to connect their light bulb and not be confused with security warnings. (they become numb to them and don't weigh them when needed on public sites)
I know from configuring web hosts and reverse-proxies that the engineers can choose port 80 or 443 depending on their need. And on local/lan/enterprise environments, browsers should not be second guessing the host bindings. This may have been a reason my company removed FF as an enterprise supported browser. The redirects became problematic, and we all know enterprises move slower than the public. In recent years we've ramped up the use of certificates internally and FQDN but Firefox has not reentered our ecosystem.
I started following those bugs you listed above. I'm very interested in the discussion. Thanks again.

You need to log in before you can comment on or make changes to this bug.