I noticed that when I get a message containing an image from a conversations.im user to my own jabber account, the image is converted to a url pointing to something like https://share.conversations.im/<username>/<hash-or-something>.jpg. This url is __publicly accessible__ to anyone who knows the url. There are various attacks (including browser-based ones) to get the URLs of such images.
Ending the conversation does not remove those images. Nor is there any obvious way to delete them manually.
This means Conversations breaks users privacy and security. And it isn't even obvious to the user sending those images what is going on.
This url is publicly accessible to anyone who knows the url.
That's correct. The keyword here is knows the url.
There are various attacks (including browser-based ones) to get the URLs of such images.
I don't think so.
This means Conversations breaks users privacy and security.
I disagree.
I don't think so.
You are wrong.
I don't think so.
You are wrong.
Feel free to elaborate on your attack scenario.
@iNPUTmice
So you disagree, then close this issue just 13 minutes after opening --- of MICE and men!
This is a real problem @iNPUTmice. Basically this pattern leaks private content all over the place. You can't send a user out to follow a link a publicly accessible resource (no mater how unknown the resource locator was up until that moment) without them "giving away their position" to any number of potentially bad actors. This is fairly well established in security circles. And no way to delete or secure such resources just makes a bad situation worse.
@Hillside502 @alerque feel free to describe a scenario where an outside attacker could get their hands on such an URL.
giving away their position
If you mean this will leak their IP address then so will Jingle File Transfer. And this is a completely different issue then described by op.
If you guess the hash without having the file, then, euh?
You can automatically encrypt uploaded files with strong AES if you enable any type of encryption (OTR/OMEMO/OpenPGP)
If they guess your url hash, they can guess your password too... ¯\_(ツ)_/¯
@uchchishta and @olerem Nobody said anything about _guessing_ a hash. The issue is the hash being _leaked_ by a browser and since there is no second line of defense (the URL doesn't require authentication) normal usage patterns from un-suspecting users will leak private content they expected to be private to parties they don't know about.
@alerque
How is it leaking it?
If you don't want to leak the URL, use HTTPS.
lets assume we really wont to have protected way of file upload.
Problem: how to share some thing?
Solution: only registered user can upload something, and every one should be able to download it.
How to protect it?
wariants:
@alerque , if you are worrying about privacy, why you still trust service provider?
On what timetable do these images expire [self delete] @iNPUTmice
Isn't this really a server issue and not at all anything to do with the client?
I'm running my own prosody with XEP-0363 and it shows the same behaviour. (prosody with mod_http_upload_external)
Is there a server that doesn't have the images publicly available?
@JohnAZoidberg But how to access them then?
With the same credentials as the chat account. I don't know if it makes sense.
If it doesn't or the XEP doesn't work that way this issue isn't even about the server or client choice but a problem with XMPP itself. (If you think it's a problem at all)
Most helpful comment
This is a real problem @iNPUTmice. Basically this pattern leaks private content all over the place. You can't send a user out to follow a link a publicly accessible resource (no mater how unknown the resource locator was up until that moment) without them "giving away their position" to any number of potentially bad actors. This is fairly well established in security circles. And no way to delete or secure such resources just makes a bad situation worse.