upvote
They should have never allowed cross subdomain access for cookies. Every subdomain should be treated as completely unrelated to all other subdomains.
reply
sigh

See, before the cloud, you used to deploy your code to actual physical servers. If your site became really popular you needed more than one server to run it.

Before commercial and open source load balancers became a thing we literally used HTTP redirects to distribute load. You might visit www.example.com and get redirected to www13.example.com, which was an actual box in a datacenter.

I don't think the internet would exist today if websites just randomly fell over once the number of simultaneous users exceeded the capacity of a single server.

reply
Why? That looks like a mess. Proxies existed before http, so why not just proxy traffic between your various physical servers to manage load? It’s literally a poor man’s load balancer. It how Travelocity worked way back in the day.
reply
When I was at yahoo, we certainly had load balancers, but we didn't have super fancy load balancers that could separate traffic out by path, so each 'property' would use a different hostname (i worked on travel.yahoo.com, which is dead these many years), but we all shared a login cookie (and some other cookies).

We'd have certainly adapted if we couldn't share cookies, but it would have been a lot messier.

reply
Couldn't you just ghetto load balance by using internal DNS to round robin to a spread of servers with different internal IP ?
reply
DNS caching and thus the load distribution is outside the control of the entity running the servers. You assume you get roughly same traffic on each of the published IP addresses, you even think you can advertise some address twice so that it gets twice the load vs other severs (if you just set up a server capable of serving twice the traffic), but the reality is one of these IP addresses might be used for 90% of the requests (as an example) due to caching and bad luck.

So no, you cannot reliably control load balancing using one domain name pointing to multiple IP addresses. (IP anycast is better suited, but much harder to implement)

reply
One of the complications that gets discussed is that there are way too many use cases with different requirements on what it means for domains to be related. The cookie problem is something browsers need to solve, so its perhaps reasonable that Mozilla (and volunteers) manage a list that focuses on that user case. But that's poorly suited for other use cases.

There's a lot of people thinking about this though. One somewhat related example is https://datatracker.ietf.org/doc/draft-manelidis-dnsop-domai..., which has a double-opt-in DNS TXT record mechanism. That draft and forthcoming discussions on the mailing list are a good place to understand the complexities here.

reply
If, for example, you could trick a client into thinking "com" was not a public suffix, then from malicious.com you could set cookies on paypal.com

DNSSEC is not widely deployed, and so we cannot rely on the authenticity of DNS.

Maybe if we had DNSSEC, then we could rely on it for publicsuffix. Maybe lots of others things could be more easily solved if we had that too.

DNSSEC automation is coming, e.g. https://www.rfc-editor.org/info/rfc10026/. It might never become mainstream, but don't let anyone tell you that we couldn't benefit from having DNS authenticity!

reply
because, like everything, bad guys would abuse it, causing a list of "bad publicsuffix" to exist, which is basically the same thing.
reply
Could we just publish (and cache!) TXT records at the appropriate-level domains? E.g.:

  host -t TXT github.io.
  etld_depth=2
reply
[dead]
reply
Because it can't be. DNS tells you who's authoritative for a name, not who's allowed to be a security boundary — and those are different questions. Whether foo.co.uk is a registrable domain or a subdomain somebody sold you is a registry business decision, and ccTLDs disagree wildly about it. Some sell second-level, some don't, some changed their mind in 2014 and grandfathered everybody. There's no field in DNS that says "the boundary is here, trust me." So the browsers gave up and maintain a text file instead, which is ugly and correct.

The part that bites harder than cookies: PSL is the closest thing the web has to an entity table. If you live on a shared suffix — anything under mooo.com, dyndns.org, the ten thousand other free subdomain hosts — every crawler and every answer engine collapses you into the parent. Your page inherits the reputation of however many hundred thousand strangers happened to register next door. That's why free-subdomain sites are functionally invisible to search and to AI answers regardless of how good the content is. It's not a quality problem, it's a missing identity boundary, and there's no content fix for it.

The whole thread is basically that tradeoff in different clothes. Free DNS, free TLS, free hosting, free subdomain — every one of those gives you something real and quietly puts you in a bucket where nobody can tell you apart from the worst neighbor in it.

reply