Found this via Aurynn Shaw:
When following someone on a different server on the Fediverse, the remote server decides whether you are allowed to do so. This enables features like private accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. When a legitimate user from a Pixelfed instance follows you on your locked fediverse account, anyone on that Pixelfed instance can read your private posts. You don’t need to be a Pixelfed user to be affected.
Pixelfed admins should update to v1.12.5 ASAP, but upgrading can be a major hurdle.
Importantly, your Mastodon or GoToSocial instance isn’t handing your private posts to any random server, just because it asks. The problem only becomes apparent when you have at least one legit accepted follower from a Pixelfed server. Now that server is allowed to fetch all your private posts. And when it knows the posts, it has to decide who to show them. When you accept a follower, you not only place your trust to keep a secret on them, but also on their admin and the software they are running.
Edited to add the last block quote.
LambdaRX@sh.itjust.works 1 week ago
I wouldn’t call it Pixelfed’s vulnerablility, but a reminder that nothing on Fediverse is private. Even if Pixelfed is fixed, someone can create rogue instance to read other’s private posts.
melmi@lemmy.blahaj.zone 1 week ago
I kinda of lean towards the idea of “private posts” being a bad idea as a result, just because it creates a false sense of security.
Ulrich@feddit.org 1 week ago
Yeah this just sounds like one of the drawbacks of a federated system. In order for people on remote servers to be able to see your “private” posts, your local server has to feed that info to them and trust them to handle it appropriately.
queermunist@lemmy.ml 1 week ago
Wait, are new instances federated by default?
I thought admins had to choose who they were federated with.
RobotToaster@mander.xyz 1 week ago
There’s easily over a thousand fediverse instances at this point, having to whitelist them all would be impractical.
Irelephant@lemm.ee 1 week ago
private posts are only sent to instances that either your followers or the list of people you want to see the post are on. If they all co-operate, you will be fine.
surewhynotlem@lemmy.world 1 week ago
Gonna stop you right there
PhilipTheBucket@ponder.cat 1 week ago
Well, obviously they’re sent to some other ones, or else this wouldn’t be an issue.
This is a design flaw in the protocol. If your instance is going to send your private posts to other people, they’re not private. The authors need to fix your instance software, not demand that every other software in existence needs to “cooperate” and find out whether they’re “private” and not show them to the users if they are.
iltg@sh.itjust.works 1 week ago
if you deliver a letter to your cousin, and they leak it to all their friends, is it the post system’s fault? instances federate by default, but private posts require actual intention. if i make a private post, explicitly mark it as private, deliver it to your instance and then your instance leaks it, i’d blame the instance, not the system. even signal can leak if you send your stuff to unintended parties.
you shouldn’t send private stuff to unreliable parties. big software and big instances have a reputation, and it’s constantly up to you whether sending them something or not. when @sus@totally.legit follows you, check where they’re from. if you just accept follows left and right, are your followers-only posts really private? and if you direct message someone on some sketchy instance, you still need to trust them to respect your privacy. it’s the same on signal, e2ee doesn’t make a difference
this is why i completely blame pixelfed here: it breaks trust in transit and that’s unacceptable because it makes the system untrustworthy. you can get followed by sketchy people on mastodon.social and they will only see what you send them. in this case, other people can see what you post, regardless of you sending it to them or not, and regardless of the target leaking it or not