HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sleevi
psl-problems
OPEN SOURCE2019–2025
sleevi / psl-problems

psl-problems

Discover this repository through its Hacker News conversations.

12Distinct people
14Mentions
0Explicit recommenders
115GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year14 dated mentions

Observed mentions: 2019-09-05 18:29:01 UTC to 2025-09-12 02:55:09 UTC.

0123452019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC422
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC514
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

What Hacker News says

14 sources
It says this is a project of Mozilla, but it seems like something that would make sense under IANA. Is there a reason why it is not maintained by a standards organization? Maybe the definition of what is/isn't a public suffix is too fuzzy to standardize? edit: After reading https://github.com/sleevi/psl-problems maybe the standards organizations just don't think it's a good idea
In Public Suffix List
For those first discovering the PSL, a brief review. There are ~90 prior comments concentrated mostly in two prior submissions from 2016 and 2021 so far: https://news.ycombinator.com/from?site=publicsuffix.org This is the top comment on the 2021 discussion: > Before you begin to make use of the PSL, consider some of its problems: https://github.com/sleevi/psl-problems There are another couple dozen comments on a few submissions of that: https://news.ycombinator.com/from?site=github.com/sleevi HN frequently suggests that DNS should be used to solve this; sleevi replied a few years back with: > This has been a common suggestion since before the Publix Suffix List existed, as you can see from the linked issues in the text (and the references to the IETF DBOUND WG). Like most things, on first glance, it seems like it does make sense. Except i
Read the rest
t has a lot of issues, which you can see have been discussed for 15 years without resolution, even though yes, it would scale better.
In Public Suffix List
(googler here, but this is my opinion) I think there's a big abstraction gap between what we use domains for and what they were supposed to be used for, in a way that we shouldn't assume any ownership only based on the domain itself. For instance you can have a number of sites that use separate domains but are owned by the same entity (N domains for 1 party). You could also have the same base domain being used for several unrelated parties, think hosting a store on Shopify (1 domain for N parties). This is so ambiguous that even inside the browser you have two different implementations on the way you handle this attribution, one for cookies and one for Single-Origin Policy. There's a good write up about this problem at https://github.com/sleevi/psl-problems. Sometimes I wonder how the web got here with the amount of kludge that we have to
Read the rest
carry.
In W3C slaps down Google's proposal to treat multiple domains as same origin
It sounds like there's two cases: 1. Multi-tenant domains that probably should've always been in the PSL (ex. to provide cookie silos) but are only realizing now that they should be in it due to the arrival of PCM. 2. Sites that want to abuse an eTLD to do something like give all users on their social network a custom subdomain so that they're not polluting the same pool. -- I think it was actually reasonable for Apple to consider the PSL as it's basically the most comprehensive eTLD list that we have and would allow them to match browser behavior. The problem now is that case (1) is sending a bunch of requests at once as something will now actually break for these sites. Before now it was really just them being lax with security and not considering that cookies should be siloed. This isn't a unique situation btw, PSL also saw a large inc
Read the rest
rease in inclusion requests when LetsEncrypt added rate limits based on eTLDs. (2) is obviously bad and there's really no other justification for these sites being in the PSL. Therefore I think it's reasonable for PSL to deny inclusion requests that are solely for PCM reasons. This all being said, the PSL is a massive hack [1] and really needs to be replaced by something else. It probably is about time for these companies to invest in a replacement. [1]: https://github.com/sleevi/psl-problems
In iOS 14 and Facebook Pixel causing increase in PSL inclusion requests
Ryan Sleevi suggests (perhaps that's putting it too mildly) that further reliance on the PSL is a bad idea: https://github.com/sleevi/psl-problems and https://news.ycombinator.com/item?id=24441942 His recommendation is to as much as possible use the Same Origin Policy or if you must, a slightly weakened variant like ignoring port numbers. I suspect I'll make another comment elsewhere in this discussion that says more about the problems with that.
In Bitwarden leaks passwords to other subdomains
PSL maintainer here: please don’t use the PSL! Yes, it’s weird to have a maintainer asking people not to use their project, but the PSL was a very specific (and unfortunate) hack for a very specific (and unfortunate, and browser-created) problem. It is something we live with, not something we like. While the ideal world is “don’t use any list at all, use the protocols as God, the IETF, and IANA intended”, if you are going to use a list, using the IANA list, updated daily, is much better than the PSL. Do not use the PSL for anything that is not “cookies abusing the Host header” https://github.com/sleevi/psl-problems
In List of All Current TLDs
The only implications of which I’m aware are in relation to web servers that serve the same content regardless of the Host header. It is then possible for someone to log into and interact normally with the website, but the cookies will be associated with the domain controlled by the attacker. The attacker can then change where the domain points later and retrieve the cookies. This sort of attack is rather obscure, though. It’s a lot more effective to create a phishing site with just a log in form—or, if you want to get fancy, even proxy everything directly from the real website. You can then steal passwords immediately, rather than stealing session cookies after-the-fact. This works even against servers that pay attention to the Host header. Edit: After re-reading the relevant portion of the article, I believe the author is referring
Read the rest
to something similar to this invalid scenario: 1. Alice operates a web store at alice.example. 2. To make purchases, alice.example makes HTTP requests to api.alice.example from within the browser. 3. api.alice.example doesn’t pay attention to Host headers. 4. Mallory operates a malicious website at mallory.example. 5. Mallory cannot make requests to api.alice.example from mallory.example—that would break the same-origin policy. She works around this by configuring api.mallory.example as a CNAME to api.alice.example. 6. Bob has an account at alice.example, and is currently logged in. 7. Mallory tricks Bob into visiting mallory.example. 8. The content loaded by mallory.example makes a request to api.mallory.example indicating that Bob is making a purchase. This doesn’t work—Bob is safe, and Mallory doesn’t score any loot. When the browser makes the request to api.mallory.example, it will pass cookies from api.mallory.example and mallory.example, not api.alice.example and alice.example. The browser pretends it has no idea that api.mallory.example and api.alice.example point to the same server. In order for this to work, Bob would need to log in again, but this time at mallory.example—and this brings us back to my original point; it’s easier and more effective to set up a standard phishing page without any CNAME shenanigans. While I agree with most of the author’s points, this one baffles me. I don’t see any realistic security implication of what the author has described in this scenario. There are theoretical implications, but in every case it seems there are far easier and more effective attacks. Furthermore, it’s nearly impossible to solve the problem described here; the proposed solutions the author mentions for replacing the Public Suffix List don’t resolve the CNAME threat I’ve described. Edit 2: I’ve opened an issue asking for clarification: https://github.com/sleevi/psl-problems/issues/4
In Public Suffix List Problems

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.