EDIT
TO EVERYONE ASKING TO OPEN AN ISSUE ON GITHUB, IT HAS BEEN OPEN SINCE JULY 6: https://github.com/LemmyNet/lemmy/issues/3504
June 24 - https://github.com/LemmyNet/lemmy/issues/3236
TO EVERYONE SAYING THAT THIS IS NOT A CONCERN: Everybody has different laws in their countries (in other words, not everyone is American), and whether or not an admin is liable for such content residing in their servers without their knowledge, don't you think it's still an issue anyway? Are you not bothered by the fact that somebody could be sharing illegal images from your server without you ever knowing? Is that okay with you? OR are you only saying this because you're NOT an admin? Different admins have already responded in the comments and have suggested ways to solve the problem because they are genuinely concerned about this problem as much as I am. Thank you to all the hard working admins. I appreciate and love you all.
ORIGINAL POST
You can upload images to a Lemmy instance without anyone knowing that the image is there if the admins are not regularly checking their pictrs database.
To do this, you create a post on any Lemmy instance, upload an image, and never click the "Create" button. The post is never created but the image is uploaded. Because the post isn't created, nobody knows that the image is uploaded.
You can also go to any post, upload a picture in the comment, copy the URL and never post the comment. You can also upload an image as your avatar or banner and just close the tab. The image will still reside in the server.
You can (possibly) do the same with community icons and banners.
Why does this matter?
Because anyone can upload illegal images without the admin knowing and the admin will be liable for it. With everything that has been going on lately, I wanted to remind all of you about this. Don't think that disabling cache is enough. Bad actors can secretly stash illegal images on your Lemmy instance if you aren't checking!
These bad actors can then share these links around and you would never know! They can report it to the FBI and if you haven't taken it down (because you did not know) for a certain period, say goodbye to your instance and see you in court.
Only your backend admins who have access to the database (or object storage or whatever) can check this, meaning non-backend admins and moderators WILL NOT BE ABLE TO MONITOR THESE, and regular users WILL NOT BE ABLE TO REPORT THESE.
Aren't these images deleted if they aren't used for the post/comment/banner/avatar/icon?
NOPE! The image actually stays uploaded! Lemmy doesn't check if the images are used! Try it out yourself. Just make sure to copy the link by copying the link text or copying it by clicking the image then "copy image link".
How come this hasn't been addressed before?
I don't know. I am fairly certain that this has been brought up before. Nobody paid attention but I'm bringing it up again after all the shit that happened in the past week. I can't even find it on the GitHub issue tracker.
I'm an instance administrator, what the fuck do I do?
Check your pictrs images (good luck) or nuke it. Disable pictrs, restrict sign ups, or watch your database like a hawk. You can also delete your instance.
Good luck.
wouldn't it be just as easy to whitelist DNS?
Yes it would, if the problem had anything to do with the DNS.
The problem is people and people have DNS.
Explain.
He probably means whitelisting domains when posting already uploaded images, clearly not having read the post
That's another issue. Also a necessary feature.
No I mean the user’s DNS should be whitelisted to permit uploads. If DNS not on whitelist then no upload, period.
What do you mean by "the user's DNS" exactly??
What would you whitelist? And what would that help?
An option to prevent users to upload unless their DNS has been whitelisted. It would require explicit permission to upload, which could be handy for smaller instances.
You mean their IP? And restricting things to IPs is a) not that easy while having federation still work and b) IPs change.
Also, in that case you might as well close registration and only have limited accounts like most of us self-hosters have.
Not IP. DNS whitelist. This way if a geography or subnet is responsible for illegal material they are only allowed in if an instance granted +w.
But how is that related to DNS? That would be geoblocking.
Every person on the internet has a DNS record that loops back to them. The DNS has a topography so that various elements of a domain could be whitelisted, or not.
It would be trivial to queue a request to white list, where an administrator could decide if it is worth it, having it auto expire over time.
Instance admins could share sources of bad actors.
heuristics could help determine the risk of an approval action.
I really don’t understand what you are talking about. DNS is the Domain Name System, why would every person have a DNS entry?
That’s how the internet works? Every device on the internet has an IP address and most IP devices are assigned a unique DNS name for that address.
That DNS has a topography (a.b.c.com) so that you could whitelist (*.b.c.com). Mobile Devices, Home Networks, College & Corporate campuses…all are probably going to have a DNS associated with then. Entire swathes of the internet could be whitelisted fairly easily…or not.
Yes it would not be fool proof. However IP whitelisting would rapidly lose its meaning.
Okay, I finally understand what you mean. Reverse DNS entries are not required for the internet to work, it works perfectly well without DNS at all. Though I guess you could block all those IPs as well. This would essentially be geoblocking by another mechanism.
fwiw the wide area / global internet would fall apart without DNS.
Local networking ignores DNS for the most part. Your home router, for example, doesn’t need a DNS to route packets from your ISP to your device. or IP for that matter. Ethernet alone is enough.
DNS itself is unrelated to geography.
Geography at best is an ISP convention.
Most geographic maps utilize physical routing to guess a DNS location. At best a DNS relationship to geography is a finger in the air, many times it’s just wrong.
if someone had no DNS it is more likely they are up to no good when accessing Lemmy. It is not foolproof however a smaller instance would be reasonably protected.
They, I imagine, care less about who the user is (username) and more about the user’s internet gateway (DNS). Only the instances that woke up to GB of child pornography know how they got there.
There is a cpu hit for this sort of thing so it is not free.
Try turning wifi off on your phone, getting the IP address, and then looking up the DNS entry for that and consider if you want to whitelist that? And then do this again tomorrow and check to see if it has a different value.
Once you get to the point of "whitelist everything in
*.mobile.att.net
" it becomes pointless to maintain that as a whitelist.Likewise
*.dhcp.dorm.college.edu
is not useful to whitelist.Yes. I am well aware and that would be by design.
remember - if someone on a major mobile network is uploading child photography, that device is radioactive and an instance admin is going to have options they may not have in other situations.
The idea is give instance admins control over who uploads content. Perhaps they don’t want mobile users to upload content, or perhaps they do but only major carriers, by their own definition of major.
Somewhere between “everyone” and “nobody” is an answer.
giving the instance administrator tools to help quarantine bad actors only helps, which will require layers. Reverse DNS is a cost, however; perhaps the tax is worth it when hosting images, where there is already a pause point in the end user experience, and the ramifications so severe.
Larger instances may dilligaf but a smaller instance may need to be very careful…
Just sayin…
Do you have a good and reasonable reverse DNS entry for the device you're writing this from?
FWIW, my home network comes nat'ed out as
{ip-addr}.res.provider.com
.Under your approach, I wouldn't have any system that I'd be able to upload a photo from.
why do you say that, knowing full well DNS whitelists rely on wildcards?
If you're whitelisting
*.res.provider.com
and*.mobile.att.com
the whitelist is rather meaningless because you've whitelisted almost everything.If you are not going to whitelist those, do you have any systems available to you (because I don't) that would pass a theoretical whitelist that you set up?
Why does it matter? Read some of my other posts.
Would you be able to post an image if neither
*.res.provider.com
nor*.mobile.att.com
were whitelisted and putting10-11-23-45.res.provider.com
(and whatever it will be tomorrow) was considered to be too onerous to put in the whitelist each time your address changed?Why wouldn’t you whitelist *.mobile.att.net?
If you have whitelisted
*.mobile.att.net
you've whitelisted a significant portion of the mobile devices in the US with no ability to say "someone in Chicago is posting problematic content".You've whitelisted 4.6 million IPv4 addresses and 7.35 x 10^28^ IPv6 addresses.
Why have a whitelist at all then?
We should assume most users are not going to be criminals.
For users who are criminals, instance administrators are on the hook to help the feds catch the bad guys. If the bad guys are using mobile devices, it’s a slam dunk right?
100% in a democratically elected country governed by the rule of law, an instance admin should be handing over logs to their regional authorities to pursue child pornographers to the full extent possible.
One assumes most child pornographers know this, so they are going to use other methods to mask their IP. Those other methods are going to be filtered out by DNS whitelist - even if a user utilized a mobile device 99% of the time, the minute they try to anonymize their criminal content, it’s more likely to be gated right at the source.