← Back to context

Comment by turblety

15 hours ago

The entire publicsuffix thing is such a mess. The fact that project even exists is ridiculous. Why can this not be a dns setting?

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

  • 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.

    • 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.

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.

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!

because, like everything, bad guys would abuse it, causing a list of "bad publicsuffix" to exist, which is basically the same thing.

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.