8 ms·
“Someone was typing in a URL and WhatsApp was fetching it off my server”
- out_of_protocol 9y agoPlain creepy. Also, does it produce a lot of traffic?
- gghhvgx 9y agoOh ffs, they're just fetching it to render a preview. Have you ever used WhatsApp? Someone down at HQ is laughing their asses off right now.
- Analemma_ 9y agoThis is a stupid and crappy implementation of a helpful feature, but how is it creepy?
- ythn 9y agoSeems like they need debounce? Most JS utility libraries (lodash, etc) have a debounce function...
- mort96 9y agoAnd even if you don't use those, denounce takes about 4 lines to write.
- Hoshea 9y agoApparently several other messaging apps behave similarly, from the replies in that tweet there were mentions of Facebook Messenger[0] and Telegram[1]. [0]https://pbs.twimg.com/media/DCRsz7mXUAAEbKK.jpg https://pbs.twimg.com/media/DCRsz7mXUAAEbKK.jpg [1]https://pbs.twimg.com/media/DCSyWs0XcAAQb2N.jpg https://pbs.twimg.com/media/DCSyWs0XcAAQb2N.jpg
- philippz 9y agoOn the one hand it provides a greater user-experience if Whatsapp can figure out the URL and preview information about the posted URL (like any social network does today, even we do it at STOMT when you attach an URL to your feedback). On the other hand i do not get why they send it after every character. Makes it even faster but creates a bunch of unnecessary requests. Not very user friendly. They could do it after they recognize a finished URL (as soon as there is a space). And as pointed out in the tweets it COULD harms the users privacy.
- benologist 9y agoThey're probably trying to prefetch the URLs so they're loaded by the time you want it, just not a nice way of doing it.
- philippz 9y agoYeah right.
- code_duck 9y agoIn order to produce the link preview, probably. As far as why it's character by character, I don't know, but that doesn't seem very sinister to me. Checking URLs letter by letter is sloppy, especially if you're not even trying to do auto completion, but it doesn't reveal any more information than a complete url could. Anyway, I would think they are expecting people to paste URLs in, not type them. I've written code to fetch sites and give a preview, for a bookmarking bookmarklet. This involves analyzing the html for title and to select best image to represent the page. That of course necessitates retrieving the page, either through the client or server.
- revicon 9y agoIt's not sinister so much as that Whatsapp is sending the requests directly from the user's phone (not through a proxy, etc) which is exposing the end user's IP address and full user agent string to the website hosting the page. This information could be used to identify the end user which goes against Whatsapp's whole "Privacy and Security is in our DNA" thing. (https://www.whatsapp.com/security/ https://www.whatsapp.com/security/) See this tweet for the info exposed: https://twitter.com/0xjomo/status/874585822158352384 https://twitter.com/0xjomo/status/874585822158352384
- marcosdumay 9y agoThe alternative would be telling WhatsApp what everybody was typing, so they could proxy the requests. They did the right thing here. It might be good to add a "do not show URL previews" option, but it's not currently broken.
- Jare 9y agoKnowing that WhatsApp produces link preview cards, I frankly don't see anything here that I didn't already expect and assume was happening - these cards come from somewhere that is neither me nor my conversation partner. This can't be a surprise to anyone who was concerned about privacy. If WA proxied the request, it would be WA snooping on the conversation, and that would be a way larger problem because they would accumulate that metadata for EVERYONE. If you don't want cards or external requests in the conversation, you obfuscate the url with any of the myriad methods people use to get past anti-url filters in forums etc.
- luisrudge 9y agoprobably whatsapp web version? it adds some kind of description if you send an url: https://i.imgur.com/Rkl2cZJ.png https://i.imgur.com/Rkl2cZJ.png
- sliken 9y agoSkype scans messages for URLs and downloads them. Microsoft claims is that they are checking for malware, still creepy.
- therealidiot 9y agoDoes anyone remember that time that they blocked any messages containing YouTube URLs in MSN Messenger?
- twiss 9y agoThis makes me think of another potential privacy risk: if you paste a URL in WhatsApp, or click Android's share button and select WhatsApp, it doesn't add a space after the url. Most users are probably aware that they have to add a space, but if they forget, WhatsApp will probably send the first word of the rest of the message to the server. (Similarly if you paste a URL at the start of an already-written message, but maybe that's even more contrived.)
- emilfihlman 9y agoE: Disregard. Whatsapp is doing exactly what they should be doing. Telegram seems to proxy the requests. Why is no one saying anything about end to end crypto? Whatsapp shouldn't be able to see my messages, isn't that what they say themselves?
- jwilk 9y agoThe 4th comment is: doing a GET request over the internet is already violating e2e
- jszymborski 9y agonot if it's over TLS/SSL...
- jjnoakes 9y agoWhen both e's in e2e are the parties of the conversation, and the TLS connection is too a third party, then yes it is a violation of their claim.
- jszymborski 9y agoI'm going to have to disagree with that. The TLS connection is not part of the conversation... it has no ability to intercept messages, encrypted or otherwise. It's merely just another e2e communication between the client and another party, albeit through another protocol.
- jjnoakes 9y agoBut it reveals part of what was typed in the e2e chat to the third party... tls or not is irrelevant to that point.
- jszymborski 9y agoTrue, I overlooked that. Thanks for taking the time to point that out :)
- hakcermani 9y agoOne aspect is the lack of debounce, but also revealing the endusers ip and user agent. They could proxy external link requests via whatsapp servers without breaking end to end encryption. wonder what iMessage does ?!
- nkassis 9y agoCould you explain how that would work? Right now they seem to be doing it client side thus not ever seeing the URL themselves. If they were to have a proxy said proxy would need to know the URL to fetch. Is there some alternative solution?
- mobilethrow 9y ago> They could proxy external link requests via whatsapp servers without breaking end to end encryption. What good is E2E if you are going to send the plaintext home anyway? Doing these requests on the device is stupid, but proxying them through FB servers would border on malicious.
- thebiglebrewski 9y agoDid you all know that chrome does this too? May sound obvious but I always had assumed that nothing is sent until you press enter for some reason (yeah I know, search prediction would be impossible without that). But one day I was type in a path on a test URL and noticing my server getting hit on - every single letter.
- killjoywashere 9y agoYes, I did know that. The difference is WhatsApp is selling encrypted-onboard privacy. Which is now, prima facie, a lie. Facebook has literally told courts they can't decrypt WhatApp traffic. I wonder if that court case in Brazil is still pending. By comparison, no one ever said "There's no way Google could read my search terms". A more accurate comparison would be regarding Allo.
- thebiglebrewski 9y agoOh, cool yeah just pointing it out! Yeah this is a much bigger deal, for sure, as it's a messaging app - just pointing out similar case in a different application.
- marcosdumay 9y agoYou've got me angrily reading the article while asking myself if WatsApp would be stupid enough to lose that mostly won case. (It's in our supreme court, I hope they will announce it illegal to widely block a communication channel and to coerce companies into releasing broken crypto.) No, WatsApp didn't get informed of what URL you entered on the message. The site owner gets a notice, as does the user's ISP, and a lot of people in between. But WatsApp can not tell what URL was typed.
- fictioncircle 9y agoYeah but tbh, its still not e2e encrypted. It just means WhatsApp is ignorant. So they are in the clear legally, but morally, its still dubious to do that given its effectively disclosing what is often a substantial portion of the conversation.
- anon182429 9y agoDoes anyone else really not like autocomplete everywhere constantly sending beacons and data about what you're typing? I realized I accidentally had a password copied to my clipboard and I pasted into into my address bar. Well great, I didn't push enter, didn't search for the password, but now I have to change my password because it was sent to google because autocomplete. It's very frustrating because often times people are not aware they are exposing sensitive information via URLs for internal resources.
- adad95 9y agoI believe this Behavior is for information gathering about odata.
- kawera 9y agoPrefetching a webpage to generate it's preview should at least be optional, controlled through user settings.
- mulander 9y agoHi HN, op here. I posted this not because I was angry on having a GET request sent to my server on a char by char basis. My main concerns were privacy related, since I posted this some additional things came to light: 1) This leaks the IP address of the person writing the msg 2) When property="og:image" is used it also leaks the User Agent and Android version [1] 3) When presented with invalid headers as a reply it can cause a crash on IOS, which mean this is a potential RCE vector [2] 4) It leaks the exact time an URL is typed into a chat 5) It's on by default, this is the default behavior in E2E encrypted conversations [3] I don't use WhatsApp, I found this out by accident as I just have a habit to tail my logs. I know though that Signal doesn't do any of this pre-fetching. I am aware this is a 'feature' but there's no place for it when security is involved. [1] https://twitter.com/0xjomo/status/874585822158352384 https://twitter.com/0xjomo/status/874585822158352384 [2] https://twitter.com/dr4ys3n/status/874725257722179584 https://twitter.com/dr4ys3n/status/874725257722179584 [3] https://mastodon.social/@rysiek/9146943 https://mastodon.social/@rysiek/9146943
- evgen 9y agoThese are all expected behaviors and are the correct decisions if the user expectation is that URLs generate preview cards. If the connection was not made from the client (aka 'leaks the IP address') then it would need to be proxied (aka central point for 5eyes to monitor to get all WA client urls) or the servers would need to know the contents of the messages (aka break e2e and we are still back to a central monitoring point.) Of course it will send user agent info, so that it can provide a better preview card if the site supports taking advantage of this info. If it only provides this when you explicitly try to send the info then it is doing what the user told it to do. The header bug is interesting and if it is actually a WA problem you should report it. Of course it leaks the exact time a URL is typed into chat. I can't even imagine what you are trying to say here since this is a point that is without a point. We have already established what it is trying to do and in that context this point makes no sense. It is on by default and is the default behavior because this is what users expect. The secure features of WA are a bonus, but are not the raison d'etre here and when it comes down to it WA is a messaging app and it prioritizes usability when the feature is not an egregious security problem. In this case it is not a major security problem so usability and expectations win.
- awqrre 9y agoDid that change happen before of after the acquisition by Facebook?
- jolux 9y agoWhat does Signal do for link previews? Nothing at all?